๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+54] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ 1๋ฒˆ D+54 - ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ฌธ์ œ 1๋ฒˆ - (Toy Problem 01) ์˜ค๋Š˜๋ถ€ํ„ฐ ํ’€๊ธฐ ์‹œ์ž‘ํ•œ ํ† ์ด๋ฌธ์ œ๋ฅผ ์žฌ๋ณต์Šตํ•˜๋Š” ์ฐจ์›์—์„œ ์ˆ˜๋„์ฝ”๋“œ ์ž‘์„ฑํ›„ ๊ธฐ๋กํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. # 01 ์ผ๋‹จ์€ 3๋ฒˆ์„ ๋‚ผ๋•Œ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์‚ฌํžˆ ์„ฑ๊ณตํ–ˆ์ง€๋งŒ, ํ•จ์ˆ˜์•ˆ์— ์ง์ ‘ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์–ด n๋ฒˆ๋งŒํผ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ๊ฑฐ๋Š” ์•„์ง ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๋Š๋‚Œ์ƒ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ์•ฝ๊ฐ„ ๊นŒ๋งˆ๋“ ํ•˜๊ตฌ๋‚˜.... 2020. 10. 30.
[D+53] Prototype Chain D+53 - Prototype Chain - (prototype, __ proto__, constructor์˜ ๊ด€๊ณ„ Object.create(), class์™€ super) prototype, __proto__, constructor์˜ ๊ด€๊ณ„ prototype ๋ชจ๋“  ํ•จ์ˆ˜์—๋Š” ํ”„๋กœํ† ํƒ€์ž…์ด๋ผ๋Š” ์†์„ฑ์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๋กœ ์ธํ•ด์„œ ์šฐ๋ฆฌ๋Š” prototype์„ ํ†ตํ•ด์„œ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ prototype์€ ๊ฐ™์€ ์ƒ์„ฑ์ž๋กœ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด์ง„ ์ธ์Šคํ„ด์Šค ๊ฐ์ฒด๋“ค์€ prototype์„ ํ†ตํ•ด ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ ์šฐ๋ฆฌ๊ฐ€ MDN์„ ํ†ตํ•ด์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ ํ•ญ์ƒ ์ €๋ ‡๊ฒŒ prototype์ด ๋ถ™์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋Š” ํ•จ์ˆ˜์˜ ์›ํ˜•์— ๋ถ™์–ด์žˆ๋Š” ๋ฉ”์†Œ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— prototype์ด ๋ถ™์–ด ์žˆ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. _.. 2020. 10. 29.
[D+52] ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด (OOP) D+52 - ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด (OOP) - (OOP, ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, Prototype) OOP (Object-Oriendted-Programming) OOP๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋“ค์ด ๊ฐ์ฒด(์˜ค๋ธŒ์ ํŠธ)๋กœ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋„๋ก ์งœ์—ฌ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐ์ฒด๋ฅผ ๊ด€์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฐจ๋ก€์ฐจ๋ก€ ์ž…๋ ฅํ•ด๋‚˜๊ฐ€๋Š” ์ ˆ์ฐจ ์ง€ํ–ฅ์ ์–ธ์–ด๋ณด๋‹ค ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 1 > ์บก์Šํ™” ์บก์Š์„ ๊บผ๋‚ด ๋ฐ˜์œผ๋กœ ์ชผ๊ฐœ๋ณด๋ฉด ๊ฐ€๋ฃจ๋“ค์ด ๋ชจ์—ฌ์žˆ๋‹ค. ์ด ๊ฐ€๋ฃจ๋“ค์„ ๊ทธ๋ƒฅ ํ•œ๋ฒˆ์— ํ„ธ์–ด๋จน๋Š” ๊ฒƒ๊ณผ ๊ฐ€๋ฃจ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ์บก์Š ํ•œ ์•Œ์„ ๋จน๋Š” ๊ฒƒ์€ ๋ชธ์†์—์„œ๋Š” ๊ฐ™์€ ๋ฐ˜์‘์„ ๋‚˜ํƒ€๋‚ผ์ง€๋Š” ๋ชฐ๋ผ๋„ ์•„๋งˆ ๊ฐ์ž์˜ ์“ด ๋ง›์„ ๋‚ด๋Š” ๊ฐ€๋ฃจ๋ฅผ ํ„ธ์–ด๋จน๋Š” ๊ฒƒ์ด ์•„๋งˆ ์“ด๋ง›์œผ๋กœ ๊ณ ํ†ต์Šค๋Ÿฌ.. 2020. 10. 28.
[D+51] ์‹œ๊ฐ„๋ณต์žก๋„์™€ Big-o ํ‘œ๊ธฐ๋ฒ• D+51 - ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ Big-o ํ‘œ๊ธฐ๋ฒ• - (์‹œ๊ฐ„ ๋ณต์žก๋„์™€ Big-o ํ‘œ๊ธฐ๋ฒ•) ์‹œ๊ฐ„ ๋ณต์žก๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด์„œ ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ์ฐจ์ง€ํ•˜๋Š” ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์œผ๋กœ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„ํ•ด ์ค€ ํ‘œ๊ธฐ๋ฒ•์„ Big-oํ‘œ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ํ•œ๋‹ค. Big-o ํ‘œ๊ธฐ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„ํ•ด์ฃผ๋Š” ๊ธฐ๋ฒ•์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ, ๋น…์˜คํ‘œ๊ธฐ๋ฒ•์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹ค์ œ ๋Ÿฌ๋‹ํƒ€์ž„์„ ํ‘œ์‹œํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ์‚ฌ์šฉ์ž์˜ ์ฆ๊ฐ€์œจ์— ๋”ฐ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์ˆ˜์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์€ 1๋กœ ๋ฐ”๋€๋‹ค. O(1) ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์™€ ์ƒ๊ด€์—†์ด ์–ธ์ œ๋‚˜ ์ผ์ •ํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ทธ๋ž˜ํ”„์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ์˜ ์–‘๊ณผ ์ƒ๊ด€์—†์ด ์‹œ๊ฐ„์€ ์ผ์ •ํ•˜๊ฒŒ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.. 2020. 10. 27.
[D+50] Graph, Tree, BST (Binary Search Tree) D+50 - Graph, Tree, BST - ( Graph, Tree, BST ) Graph Graph ํŠน์ง• • ๊ทธ๋ž˜ํ”„๋Š” ๋…ธ๋“œ์™€ ๋…ธ๋“œ์™€ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ (edge)์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. •๋ฐฉํ–ฅ์ด ์—†๋Š” ๋ฌด๋ฐฉํ–ฅ์ด๊ฑฐ๋‚˜, ๋ฐฉํ–ฅ์„ ๊ฐ€์ง€๋Š” ๋ฐฉํ–ฅ์„ฑ ๋‘˜๋‹ค ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋ฌด๋ฐฉํ–ฅ (Undirected Graph) → ๊ฐ„์„ ์— ์˜ํ•ด ์—ฐ๊ฒฐ๋œ 2๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ๋Œ€์นญ์ผ ์ˆ˜ ์žˆ๋‹ค. (ex. A → B, B → A) ๋ฐฉํ–ฅ (Directed Graph) → ๊ฐ„์„ ์— ์˜ํ•ด ์—ฐ๊ฒฐ๋œ 2๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ๋น„๋Œ€์นญ์ด๋‹ค. (ex. A → B, B โ†› A) ์ฐจ์ˆ˜ degree degree๋Š” ํ•ด๋‹น ๋…ธ๋“œ์˜ ์—ฐ๊ฒฐ๋œ ์—ฃ์ง€์˜ ์ˆ˜๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. • ์ง„์ž…์ฐจ์ˆ˜ (in-degree) ์ง„์ž…์ฐจ์ˆ˜๋Š” ์ •์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์˜ ์ˆ˜๋กœ ์ •์ ์— ๋ถ€์†๋œ ๊ฐ„์„ ์˜ ๋ฐฉํ–ฅ์ด ๋จธ๋ฆฌ๋กœ ํ•˜๋Š” ๊ฐ„์„ .. 2020. 10. 26.
[D+49] Immersive 1์ฃผ์ฐจ D+49 - Immersive 1์ฃผ ์ฐจ - ( ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  ์ด๋จธ์‹œ๋ธŒ ์ฝ”์Šค 1์ฃผ ์ฐจ ) ๋‹ค์‚ฌ๋‹ค๋‚œํ–ˆ๋˜ 1์ฃผ์ฐจ๊ฐ€ ์ง€๋‚ฌ๋‹ค. ์ด๋จธ์‹œ๋ธŒ ์ฝ”์Šค์— ์ž…๋ฌธํ•˜๊ธฐ ์ „์— ํ”„๋ฆฌ์ฝ”์Šค๋„ ๊ฐ„๋‹น๊ฐ„๋‹นํ•˜๊ฒŒ ๋„˜์€ ๋‚ด๊ฐ€ ๊ณผ์—ฐ ๋‹ค์Œ ์ฝ”์Šค๋กœ ๋„˜์–ด๊ฐˆ ์ž๊ฒฉ์ด ์žˆ์„๊นŒ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ์—„์ฒญ ๋งŽ์ด ํ–ˆ์—ˆ๋Š”๋ฐ ๋ฒŒ์จ ์‹œ์ž‘ํ•œ์ง€ 1์ฃผ๊ฐ€ ์ง€๋‚˜๋‹ค๋‹ˆ... ๊ทธ๋ž˜๋„ ์š”๋ฒˆ์ฃผ๋Š” ์ฒซ ์ฃผ๋ผ์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๋Š” ๋Š๋‚Œ๋ณด๋‹ค๋Š” ์ฝ”์Šค๋ฅผ ์ž…๋ฌธํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋„๊ตฌ๋‚˜ ๊ฐœ๋…๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๊ฐ€๋Š” ์‹œ๊ธฐ์ด๋‹ค ๋ณด๋‹ˆ ํฐ ์–ด๋ ค์›€์€ ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์•„์ง 1์ฃผ ์ฐจ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ํ”„๋ฆฌ์ฝ”์Šค์™€๋Š” ์กฐ๊ธˆ ์ฐจ์ด๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ํ”„๋ฆฌ์ฝ”์Šค์— ๋น„ํ•ด ์ด๋จธ์‹œ๋ธŒ ์ฝ”์Šค๋Š” ๋”์šฑ ๋‚˜ ์Šค์Šค๋กœ๊ฐ€ ๊ณต๋ถ€ํ•˜๋„๋ก ๊ฐœ๋…์— ๋Œ€ํ•œ ์šฉ์–ด์™€ ๊ฐ„๋‹จํ•œ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์–ด์žˆ๊ณ  ๊ทธ ๋ณด๋‹ค ๊นŠ์ด ์žˆ๋Š” ๊ฒƒ์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‚˜ ์Šค์Šค๋กœ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํƒ๊ตฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค๋Š” .. 2020. 10. 25.