๋ชฉ๋ก๐Ÿ’ป Development/๊ธฐ๋ก (48)

roqkf

์ •๊ทœํ‘œํ˜„์‹์œผ๋กœ html ํƒœ๊ทธ ์ œ๊ฑฐํ•˜๊ธฐ

์œ„์˜ ์‚ฌ์ง„์€ Texteditor๋กœ ๋ฐ›์•„์˜จ value์˜ ๊ฐ’์„ ํ™•์ธํ•ด ๋ดค์„ ๋•Œ์˜ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค... title ๋ฐ‘์— content ๋‚ด์šฉ์„ ๋„ฃ์–ด ์คฌ๋Š”๋ฐ Texteditor react-quill๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅํ•œ value์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋‹ˆ html ํƒœ๊ทธ ๋ชจ์Šต์ด ๊ทธ๋Œ€๋กœ ์ ์šฉ๋œ ๊ฒƒ์ด ํ™•์ธ๋˜์—ˆ๋‹ค react-quill ์‚ฌ์šฉ์œผ๋กœ ๋งˆํฌ๋‹ค์šด์ด ๊ทธ๋Œ€๋กœ ์ ์šฉ๋œ ์ƒํƒœ์˜ value ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋ฐ›์œผ๋‹ˆ ๋‹น์—ฐํ•œ ๊ฒฐ๊ณผ.... ์ƒ์„ธํŽ˜์ด์ง€์— ๋ณด์—ฌ์ง€๋Š” ๋‚ด์šฉ ๋˜ํ•œ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ณด์ธ๋‹ค ํ™˜์žฅ....... ํ•ด๊ฒฐํ•ด ๋ณด์ž... ์ผ๋‹จ ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. react-quill๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๊ธฐ ์ •๊ทœํ‘œํ˜„์‹ ์‚ฌ์šฉ์œผ๋กœ ํƒœ๊ทธ ์ž๋ฅด๊ธฐ 1. react-quill๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๊ธฐ import ReactQuill from 'react-quill'; ์ผ๋‹จ Reac..

[Prettier] Delete `โ` prettier/prettier

โœจ Intro ๋น ๋น ๋นจ๊ฐ„๋ง› ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘์œผ๋กœ pull์„ ๋ฐ›์•„์™€์„œ npm ์„ค์น˜ ํ›„์— ๋ณธ ์—๋Ÿฌ๋‹ค. Delete `โ` ์˜ค๋ฅ˜ ์˜ค๋ฅ˜๋ฅผ ๋ถ€์ˆด ๋ณด์ž... ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด์„œ ๋‚˜์˜จ ํ•ด๋‹น ์—๋Ÿฌ๋Š” ๊ทผ๋ณธ์ ์œผ๋กœ ์ปดํ“จํ„ฐ OS๋ณ„๋กœ ๋‹ค๋ฅธ ์ค„๋ฐ”๊ฟˆ ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด์„œ ๋‚˜๋Š” ์˜ค๋ฅ˜๋ผ๊ณ  ํ•œ๋‹ค. Prettier์—์„œ๋Š” CRLF ๋Œ€์‹  LF ์‚ฌ์šฉ์„ ๊ถŒ๊ณ ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํ™•์ธํ•ด ๋ณด๋‹ˆ ๋‚ด VS ์ฝ”๋“œ์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด CRLF๋กœ ์„ค์ •๋์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๐Ÿ€ Linux(์œ ๋‹‰์Šค ๊ณ„์—ด) LF๊ฐ€ ๊ธฐ๋ณธ๊ฐ’ ๐Ÿ€ Windows CRLF๊ฐ€ ๊ธฐ๋ณธ๊ฐ’ CRLF? ๊ทธ๊ฒŒ ๋ญ”๋ฐ. ๊ทธ๊ฑฐ ์–ด๋–ป๊ฒŒ ํ•˜๋Š” ๊ฑด๋ฐ. ๐Ÿ“Œ CRLF ํƒ€์ž๊ธฐ๋กœ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ํ•œ ์ค„์— ๊ธ€์ž๋ฅผ ๋‹ค ์ž…๋ ฅํ–ˆ์œผ๋ฉด ์•„๋ž˜ ์ค„๋กœ ์ด๋™์‹œ์ผœ์ค˜์•ผํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ ์•„๋ž˜ ์ค„๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด LF ์ด๊ณ , ์™ผ์ชฝ ๋์œผ๋กœ ๋ฐ€์–ด์ฃผ๋Š” ๊ฒƒ์„ CR..

Dynamic Programming (๋™์  ๊ณ„ํš๋ฒ•)

๐Ÿ“Œ Dynamic Programming ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy)๊ณผ ํ•จ๊ป˜ ์–ธ๊ธ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ์ค„์ž„๋ง๋กœ DP ๋ผ๊ณ  ํ•˜๋Š” ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€, ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์ด ์ž‘์€ ๋ฌธ์ œ์—์„œ ์ถœ๋ฐœํ•œ๋‹ค๋Š” ์ ์€ ๊ฐ™๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋งค ์ˆœ๊ฐ„ ์ตœ์ ์˜ ์„ ํƒ์„ ์ฐพ๋Š” ๋ฐฉ์‹์ด๋ผ๋ฉด, DP๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์กฐํ•ฉํ•ด ์ตœ์ ์˜ ํ•ด๋ฒ•์„ ์ฐพ๋Š”๋‹ค. ์ฆ‰, ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ (์ž‘์€) ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ’€๊ณ , ํ•˜์œ„ ๋ฌธ์ œ๋“ค์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ตœ์ข… ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ๊ณ„์‚ฐํ•œ ๋’ค ๊ทธ ํ•ด๊ฒฐ์ฑ…์„ ์ €์žฅํ•˜๊ณ , ๋‚˜์ค‘์— ๋™์ผํ•œ ํ•˜์œ„ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚  ๊ฒฝ์šฐ ์ €์žฅ๋œ ํ•ด๊ฒฐ์ฑ…์„ ์ ์šฉํ•ด ๊ณ„์‚ฐ ํšŸ์ˆ˜๋ฅผ ์ค„์ธ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋Š” ๋‹จ ํ•œ ๋ฒˆ๋งŒ ํ’€๋„๋ก ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ ์ด ๋‹ค์ด๋‚ด๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค. ๋‹ค์ด๋‚ด๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๊ฐ€์ •์ด..

Algorithm ๊ตฌํ˜„์˜ ๊ธฐ์ดˆ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค๋Š” ๊ฒƒ์€, ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์„ ์ปดํ“จํŒ… ์‚ฌ๊ณ ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™๊ณ , ๊ฐ ์œ ํ˜•์€ ์›ํ•˜๋Š” ์˜๋„๊ฐ€ ๋ถ„๋ช…ํ•˜๊ฒŒ ์žˆ๊ณ , ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ...etc ์ด๋ ‡๊ฒŒ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋ถ„๋ฅ˜ํ•œ๋‹ค๊ณ  ํ•ด๋„ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋กœ์ง์„ '์ฝ”๋“œ๋กœ ๊ตฌํ˜„'ํ•œ๋‹ค๋Š” ๊ฑด ์ „๋ถ€ ๊ณตํ†ต์ ์ธ ์†์„ฑ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์ฝ”๋“œ๋กœ ํ’€์–ด๋‚ผ ๋•Œ, ์ •ํ™•ํ•˜๊ณ  ๋น ๋ฅผ ์ˆ˜๋ก ๊ตฌํ˜„ ๋Šฅ๋ ฅ์ด ์ข‹๋‹ค๊ณ  ๋งํ•œ๋‹ค. ๊ตฌํ˜„ ๋Šฅ๋ ฅ์ด ์ข‹์€ ๊ฐœ๋ฐœ์ž๋ฅผ ์„ ๋ฐœํ•  ์˜๋„๋กœ ๊ตฌํ˜„ ๋Šฅ๋ ฅ์„ ์ง์ ‘ ํ‰๊ฐ€ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. '์ •ํ•ด์ง„ ์‹œ๊ฐ„ ์•ˆ์— ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ'์„ ๋ณด๊ธฐ ์œ„ํ•จ์ด๋‹ค. ๋จธ๋ฆฌ๋กœ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด๋„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค(ํ˜น์€ ์‹œ๊ฐ„ ๋ถ€์กฑ์œผ๋กœ ๋ชปํ•œ๋‹ค)๋ฉด ์ •..

Greedy Algorithm

๐Ÿ“Œ Greedy Algorithm Greedy๋Š” "ํƒ์š•์Šค๋Ÿฌ์šด, ์š•์‹ฌ ๋งŽ์€" ์ด๋ž€ ๋œป์œผ๋กœ, ๋ง ๊ทธ๋Œ€๋กœ ์„ ํƒ์˜ ์ˆœ๊ฐ„๋งˆ๋‹ค ๋‹น์žฅ ๋ˆˆ์•ž์— ๋ณด์ด๋Š” ์ตœ์ ์˜ ์ƒํ™ฉ๋งŒ์„ ์ซ“์•„ ์ตœ์ข…์ ์ธ ํ•ด๋‹ต์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹จ๊ณ„์ ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ”ฅ Greedy Algorithm ๋ฌธ์ œ ํ•ด๊ฒฐ ๋‹จ๊ณ„ ์„ ํƒ ์ ˆ์ฐจ(Selection Procedure): ํ˜„์žฌ ์ƒํƒœ์—์„œ์˜ ์ตœ์ ์˜ ํ•ด๋‹ต์„ ์„ ํƒ ์ ์ ˆ์„ฑ ๊ฒ€์‚ฌ(Feasibility Check): ์„ ํƒ๋œ ํ•ด๊ฐ€ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ ํ•ด๋‹ต ๊ฒ€์‚ฌ(Solution Check): ์›๋ž˜์˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์„ ํƒ ์ ˆ์ฐจ๋กœ ๋Œ์•„๊ฐ€ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณต ๐Ÿ“Œ Greedy Algorithm ์ ์šฉ ์˜ˆ์‹œ ์ด๋Ÿฌํ•œ Greedy Algorithm..

๊ณต๊ฐ„ ๋ณต์žก๋„

๐Ÿ“Œ ๊ณต๊ฐ„ ๋ณต์žก๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ˆ˜ํ–‰๋˜๋Š” ๋ฐ์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด๋Ÿ‰ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”๋กœ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฐ์ถœํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ ํ”„๋กœ๊ทธ๋žจ์ด ์š”๊ตฌํ•˜๋Š” ๊ณต๊ฐ„์€ ๊ณ ์ •์ ์ธ ๊ณต๊ฐ„๊ณผ ํ•จ๊ป˜ ๊ฐ€๋ณ€์ ์ธ ๊ณต๊ฐ„์„ ํ•จ๊ป˜ ์š”๊ตฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ง‘์ค‘ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์€ ๊ฐ€๋ณ€์ ์ธ ๊ณต๊ฐ„ ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ณ ์ •์ ์ธ ๊ณต๊ฐ„์€ ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ์˜ ์–‘์— ๋ฌด๊ด€ํ•˜๊ฒŒ ํ•ญ์ƒ ์š”๊ตฌ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ์„œ, ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋ณ€์ ์ธ ๊ณต๊ฐ„์€ ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ์˜ ์–‘์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์š”๊ตฌ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ์ค€๋‹ค. ์ด๋Ÿฐ ๊ณต๊ฐ„ ๋ณต์žก๋„ ๊ณ„์‚ฐ์€ ์‹œ๊ฐ„ ๋ณต์žก๋„ ๊ณ„์‚ฐ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋น… ์˜ค (Big-O) ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. function factorial(n) { if(n === 1) { return n; } return n*factorial..