๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[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.
[D+48] ๊ฐ•์ œํœด์‹... D+48 - ๊ฐ•์ œ ํœด์‹ - (์‰ฌ๋Š” ๋‚ ...) ์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ์ฝ”์Šค๋ฅผ ๋งž์ดํ•œ ๋’ค ์ฒ˜์Œ ๋งž๋Š” ์ฃผ๋ง์ด๋‹ค. ๋ณดํ†ต์‚ฌ๋žŒ๋“ค์ด๋ผ๋ฉด ์ฃผ๋ง ์•„์นจ์— ์ผ์–ด๋‚˜ ์ƒ์พŒํ•œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๊ฒ ์ง€๋งŒ ๋‚œ ์ฃผ๋ง์— ๋…ธํŠธ ๋ถํ‚ค๊ณ  ํ•ธ๋“œํฐ ํ•˜๋Š” ๋ณ‘์— ๊ฑธ๋ ค ๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํ† ์š”์ผ ๋‚ฎ๋ณด๋‹จ ๊ธˆ์š”์ผ๊ณผ ํ† ์š”์ผ ๋„˜์–ด๊ฐ€๋Š” ์ƒˆ๋ฒฝ์— ์ฃผ๋กœ ์˜ฌ๋นผ๋ฏธ์ฒ˜๋Ÿผ ๊ณต๋ถ€๋ฅผ ํ•œ๋‹ค. ์ด๋ฒˆ์—๋„ ์ƒˆ๋กœ์šด ์ฝ”์Šค๋ฅผ ์ž…๋ฌธํ–ˆ๊ธฐ์— ๋”์šฑ ์—ด์‹ฌํžˆ ํ•˜๊ฒ ๋‹ค๋Š” ๋‹ค์ง ํ›„ ๋…ธํŠธ๋ถ์„ ์ผฐ๋Š”๋ฐ.... ???? ๋จธ์•ผ...? ์™œ์•Š๋˜?.... ๋‚˜์˜ ๋œจ๊ฑฐ์šด ๋‹ค์ง์€ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ์‹คํŒจํ•˜๋ฉด์„œ ๋‚˜๋ฝ์œผ๋กœ ๋–จ์–ด์ ธ ๋ฒ„๋ ธ๊ณ  ์—ฐ๊ฒฐ์„ ์„ฑ๊ณต ํ›„ ๋ฐ˜๋“œ์‹œ ๊ณต๋ถ€ํ•˜๊ฒ ๋‹ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ๋งŒ์กŒ์ง€๋งŒ ์‹คํŒจํ–ˆ๋‹ค... ๊ทธ๋ ‡๊ฒŒ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด๋ฒ„๋ฆฐ ๋‚˜๋Š” 4์‹œ๊นŒ์ง€ ์ž ์„ ๋ชป ์žค๊ณ  ๊ฒฐ๊ตญ ์“ฐ๋Ÿฌ์ง€๋‹ค์‹œํ”ผ ๊ธฐ์ ˆํ•ด ๋ฒ„๋ฆฐ ๋‚˜๋Š” ์ผ์–ด๋‚˜ ๋ณด๋‹ˆ 12์‹œ๊ฐ„์ด๋‚˜ ์ž๋ฒ„๋ ธ๋‹ค..... ๋‚˜์ค‘์— .. 2020. 10. 24.