๐Ÿ’ป์šฉ๋‡ฝ ๊ฐœ๋ฐœ ๋…ธํŠธ๐Ÿ’ป
article thumbnail
[Clean Code] TIL - Day 01

Day 01 ๐Ÿ”– ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„ : ์‹œ์ž‘ ~ ์ถ”์ฒœ์‚ฌ & ๋“ค์–ด๊ฐ€๋ฉด์„œ ๐Ÿ˜ƒ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ ๊ผญ ๋งž๊ฒŒ ๋‹ซํžˆ์ง€ ์•Š๋Š” ๋ฌธ์ด๋‚˜ ๋น„๋šค์–ด์ง„ ๋ฐ”๋‹ฅ ํƒ€์ผ์ด๋‚˜ ์ง€์ €๋ถ„ํ•œ ์ฑ…์ƒ ๋“ฑ ์•„์ฃผ ์‚ฌ์†Œํ•œ ๊ฒƒ๋“ค์ด ์ „์ฒด์˜ ๋งค๋ ฅ์„ ๊นŽ์•„๋จน๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฐ”๋กœ ์—ฌ๊ธฐ์— ์žˆ๋‹ค. (p.xxii) ์ฝ”๋“œ์— ์ •์งํ•˜๊ณ , ์ฝ”๋“œ์˜ ์ƒํƒœ์— ๊ด€ํ•˜์—ฌ ๋™๋ฃŒ๋“ค์—๊ฒŒ ์ •์งํ•˜๊ณ , ๋ฌด์—‡๋ณด๋‹ค๋„, ์ž๊ธฐ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์ž์‹ ์—๊ฒŒ ์ •์งํ•˜๋ผ๋Š” ๋œป์ด๋‹ค. (p.xxvvii) ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ต๋‹ค. ๋‹จ์ˆœํžˆ ์›์น™๊ณผ ํŒจํ„ด์„ ์•ˆ๋‹ค๊ณ  ๊นจ๋—ํ•œ ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค. ๊ณ ์ƒ์„ ํ•ด์•ผ ํ•œ๋‹ค. ์Šค์Šค๋กœ ์—ฐ์Šตํ•˜๊ณ  ์‹คํŒจ๋„ ๋ง›๋ด์•ผ ํ•œ๋‹ค. ๋‚จ๋“ค์ด ์‹œ๋„ํ•˜๋‹ค ์‹คํŒจํ•˜๋Š” ๋ชจ์Šต๋„ ๋ด์•ผ ํ•œ๋‹ค. ๊ทธ๋“ค์ด ๋„˜์–ด์ง€๊ณ  ์ผ์–ด์„œ๋Š” ๋ชจ์Šต๋„ ๋ด์•ผ ํ•œ๋‹ค. ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š๋ผ ๊ณ ๋ฏผํ•˜๋Š” ๋ชจ์Šต, ์ž˜..

article thumbnail
[๋…์„œ] Clean Code: ์• ์ž์ผ ์†Œํ”„ํŠธ ์›จ์–ด ์žฅ์ธ ์ •์‹  ์ฑ… ๊ตฌ์ž…

์–ธ์  ๊ฐ„ ์ฝ์–ด ๋ด์•ผ์ง€ ํ•˜๋Š” ์ƒ๊ฐ์„ ๊ฐ–๊ณ  ๋งŽ์€ ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๋Š”๋ฐ, ์ด๋ฒˆ ๋…ธ๋งˆ๋“œ ์ฝ”๋” ๋ถํด๋Ÿฝ์ด ์‹œ์ž‘ํ•œ๋‹คํ•ด์„œ ๊พธ์ค€ํžˆ ์ฑ… ์ฝ๋Š” ์Šต๊ด€๋„ ๋“ค์ด๊ณ  ํ˜ผ์ž ์ฝ๋Š” ๊ฒƒ ๋ณด๋‹ค ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ฐ™์ด ๊ฐ์ƒํ‰๋„ ๊ณต์œ ํ•˜๋ฉด์„œ ์ฝ์œผ๋ฉด ์ฑ…์„ ๋‹ค ์ฝ๊ณ  ๋‚œ ๋’ค์— ํšจ๊ณผ๊ฐ€ ์ •๋ง ์ข‹์„ ๊ฑฐ ๊ฐ™์•„์„œ ์™„์ „ํžˆ ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“ ๋‹ค๋Š” ๋ชฉํ‘œ๋กœ ์ฑ…๋„ ๊ตฌ์ž…ํ•˜๊ณ  ๋ถํด๋Ÿฝ๋„ ์‹ ์ฒญํ•ด ๋ณธ๋‹ค! #๋…ธ๊ฐœ๋ถ #๋…ธ๋งˆ๋“œ์ฝ”๋” #๋ถํด๋Ÿฝ #ํด๋ฆฐ์ฝ”๋“œ

article thumbnail
[๋ฐฑ์ค€] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(node.js) 1996๋ฒˆ 'ํ”„๋ฆฐํ„ฐ ํ' ๋ฌธ์ œ ํ’€์ด

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)๋กœ ๋ฐฑ์ค€ 1966๋ฒˆ ๋ฌธ์ œ์ธ ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 'ํ”„๋ฆฐํ„ฐ ํ' ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•ด๋ณด๊ฒ ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ์—ฌ๋Ÿฌ๋ถ„๋„ ์•Œ๋‹ค์‹œํ”ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋ฆฐํ„ฐ ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ธ์‡„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ธ์‡„ ๋ช…๋ น์„ ๋ฐ›์€ โ€˜์ˆœ์„œ๋Œ€๋กœโ€™, ์ฆ‰ ๋จผ์ € ์š”์ฒญ๋œ ๊ฒƒ์„ ๋จผ์ € ์ธ์‡„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์Œ“์ธ๋‹ค๋ฉด Queue ์ž๋ฃŒ๊ตฌ์กฐ์— ์Œ“์—ฌ์„œ FIFO - First In First Out - ์— ๋”ฐ๋ผ ์ธ์‡„๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๊ทผ์ด๋Š” ์ƒˆ๋กœ์šด ํ”„๋ฆฐํ„ฐ๊ธฐ ๋‚ด๋ถ€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๋Š”๋ฐ, ์ด ํ”„๋ฆฐํ„ฐ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ธ์‡„๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. 1. ํ˜„์žฌ Queue์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฌธ์„œ์˜ โ€˜์ค‘์š”๋„โ€™๋ฅผ ํ™•์ธํ•œ๋‹ค. 2. ๋‚˜๋จธ์ง€ ๋ฌธ์„œ๋“ค ์ค‘ ํ˜„์žฌ ๋ฌธ์„œ๋ณด๋‹ค ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฌธ์„œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์žˆ๋‹ค๋ฉด, ์ด ๋ฌธ์„œ๋ฅผ ์ธ์‡„ํ•˜์ง€ ์•Š..

article thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ '๋„คํŠธ์›Œํฌ' ๋ฌธ์ œ ํ’€์ด (LV.3)

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค '๋„คํŠธ์›Œํฌ' ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•ด๋ณด๊ฒ ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ๋„คํŠธ์›Œํฌ๋ž€ ์ปดํ“จํ„ฐ ์ƒํ˜ธ ๊ฐ„์— ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ปดํ“จํ„ฐ A์™€ ์ปดํ“จํ„ฐ B๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ณ , ์ปดํ“จํ„ฐ B์™€ ์ปดํ“จํ„ฐ C๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ๋•Œ ์ปดํ“จํ„ฐ A์™€ ์ปดํ“จํ„ฐ C๋„ ๊ฐ„์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ปดํ“จํ„ฐ A, B, C๋Š” ๋ชจ๋‘ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์ƒ์— ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์˜ ๊ฐœ์ˆ˜ n, ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด computers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋„คํŠธ์›Œํฌ์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ œํ•œ ์‚ฌํ•ญ ์ปดํ“จํ„ฐ์˜ ๊ฐœ์ˆ˜ n์€ 1 ์ด์ƒ 200 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์ปดํ“จํ„ฐ๋Š” ..

article thumbnail
[๋ฐฑ์ค€]JavaScript(nodejs) 1931๋ฒˆ 'ํšŒ์˜์‹ค ๋ฐฐ์ •' ๋ฌธ์ œ ํ’€์ด

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)๋กœ ๋ฐฑ์ค€ 1931๋ฒˆ ๋ฌธ์ œ์ธ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ 'ํšŒ์˜์‹ค ๋ฐฐ์ •' ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•ด๋ณด๊ฒ ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ํ•œ ๊ฐœ์˜ ํšŒ์˜์‹ค์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” N๊ฐœ์˜ ํšŒ์˜์— ๋Œ€ํ•˜์—ฌ ํšŒ์˜์‹ค ์‚ฌ์šฉํ‘œ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ ํšŒ์˜ I์— ๋Œ€ํ•ด ์‹œ์ž‘์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ฃผ์–ด์ ธ ์žˆ๊ณ , ๊ฐ ํšŒ์˜๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ํ•˜๋ฉด์„œ ํšŒ์˜์‹ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์˜์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์ฐพ์•„๋ณด์ž. ๋‹จ, ํšŒ์˜๋Š” ํ•œ๋ฒˆ ์‹œ์ž‘ํ•˜๋ฉด ์ค‘๊ฐ„์— ์ค‘๋‹จ๋  ์ˆ˜ ์—†์œผ๋ฉฐ ํ•œ ํšŒ์˜๊ฐ€ ๋๋‚˜๋Š” ๊ฒƒ๊ณผ ๋™์‹œ์— ๋‹ค์Œ ํšŒ์˜๊ฐ€ ์‹œ์ž‘๋  ์ˆ˜ ์žˆ๋‹ค. ํšŒ์˜์˜ ์‹œ์ž‘์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๊ฐ™์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์‹œ์ž‘ํ•˜์ž๋งˆ์ž ๋๋‚˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํšŒ์˜์˜ ์ˆ˜ N(1 โ‰ค N โ‰ค 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N+1 ์ค„๊นŒ์ง€ ..

article thumbnail
[๋ฐฑ์ค€]JavaScript(nodejs) 1316๋ฒˆ '๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค ๋ฌธ์ œ' ํ’€์ด

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)๋กœ ๋ฐฑ์ค€ 1316๋ฒˆ ๋ฌธ์ œ์ธ '๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค' ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•ด๋ณด๊ฒ ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด์ด์ง€๋งŒ, aabbbccb๋Š” b๊ฐ€ ๋–จ์–ด์ ธ์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋‹จ์–ด N๊ฐœ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ๋“ค์–ด์˜จ๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜จ๋‹ค. ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋˜์–ด์žˆ๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ธธ์ด๋Š” ์ตœ๋Œ€ 1..

article thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 'ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„' ๋ฌธ์ œ ํ’€์ด (์นด์นด์˜ค)

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์Šคํƒ(Stack) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 'ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ' ์นด์นด์˜ค ๊ธฐ์ถœ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•˜๊ฒ ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ๊ฒŒ์ž„๊ฐœ๋ฐœ์ž์ธ "์ฃ ๋ฅด๋””"๋Š” ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ธฐ๊ณ„๋ฅผ ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. "์ฃ ๋ฅด๋””"๋Š” ๊ฒŒ์ž„์˜ ์žฌ๋ฏธ๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ํ™”๋ฉด ๊ตฌ์„ฑ๊ณผ ๊ทœ์น™์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒŒ์ž„ ๋กœ์ง์— ๋ฐ˜์˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ํ™”๋ฉด์€ "1 x 1" ํฌ๊ธฐ์˜ ์นธ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ "N x N" ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐ ๊ฒฉ์ž์ด๋ฉฐ ์œ„์ชฝ์—๋Š” ํฌ๋ ˆ์ธ์ด ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์—๋Š” ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (์œ„ ๊ทธ๋ฆผ์€ "5 x 5" ํฌ๊ธฐ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค). ๊ฐ ๊ฒฉ์ž ์นธ์—๋Š” ๋‹ค์–‘ํ•œ ์ธํ˜•์ด ๋“ค์–ด ์žˆ์œผ๋ฉฐ ์ธํ˜•์ด ์—†๋Š” ์นธ์€ ๋นˆ์นธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ธํ˜•์€ "1 x 1" ํฌ๊ธฐ์˜ ๊ฒฉ์ž ํ•œ ์นธ์„ ์ฐจ์ง€ํ•˜๋ฉฐ ๊ฒฉ์ž์˜ ๊ฐ€์žฅ ์•„๋ž˜ ์นธ๋ถ€ํ„ฐ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ์‚ฌ..

article thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ '๊ธฐ๋Šฅ๊ฐœ๋ฐœ' ๋ฌธ์ œ ํ’€์ด(LV.2)

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์Šคํƒ(Stack) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜๋Š” '๊ธฐ๋Šฅ๊ฐœ๋ฐœ' ๋ฌธ์ œ(LV.2) ํ’€์ด๋ฅผ ํ•˜๊ฒ ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100% ์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์˜ ์ง„๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด progresses์™€ ๊ฐ ์ž‘์—…์˜ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด speeds๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ์ž‘์—…์˜ ๊ฐœ์ˆ˜(prog..

article thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ '์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜' ๋ฌธ์ œ ํ’€์ด(LV.1)

๐Ÿ“– ๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ํ•ด์‰ฌ(Hash) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜๋Š” '์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜' ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•˜๊ฒ ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ํ•ด์‰ฌ(Hash)๋ฅผ ํ™œ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ํ’€ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ํ•ด์‰ฌ(Hash) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋กœ ๋ถ„๋ฅ˜๋ฅผ ํ•ด๋†“์•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด์‰ฌ(Hash) ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. โ“ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด completion์ด ์ฃผ์–ด์งˆ ๋•Œ, ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ๋งˆ๋ผํ†ค ๊ฒฝ๊ธฐ์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜์˜ ์ˆ˜๋Š”..