โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ์ฌ์ง๋ค์ ๋ณด๋ฉฐ ์ถ์ต์ ์ ์ด ์๋ ๋ฃจ๋ ์ฌ์ง๋ณ๋ก ์ถ์ต ์ ์๋ฅผ ๋งค๊ธธ๋ ค๊ณ ํฉ๋๋ค. ์ฌ์ง ์์ ๋์ค๋ ์ธ๋ฌผ์ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ ๋ชจ๋ ํฉ์ฐํ ๊ฐ์ด ํด๋น ์ฌ์ง์ ์ถ์ต ์ ์๊ฐ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ง ์ ์ธ๋ฌผ์ ์ด๋ฆ์ด ["may", "kein", "kain"]์ด๊ณ ๊ฐ ์ธ๋ฌผ์ ๊ทธ๋ฆฌ์ ์ ์๊ฐ [5์ , 10์ , 1์ ]์ผ ๋ ํด๋น ์ฌ์ง์ ์ถ์ต ์ ์๋ 16(5 + 10 + 1)์ ์ด ๋ฉ๋๋ค. ๋ค๋ฅธ ์ฌ์ง ์ ์ธ๋ฌผ์ ์ด๋ฆ์ด ["kali", "mari", "don", "tony"]์ด๊ณ ["kali", "mari", "don"]์ ๊ทธ๋ฆฌ์ ์ ์๊ฐ ๊ฐ๊ฐ [11์ , 1์ , 55์ ]]์ด๊ณ , "tony"๋ ๊ทธ๋ฆฌ์ ์ ์๊ฐ ์์ ๋, ์ด ์ฌ์ง์ ์ถ์ต ์ ์๋ 3๋ช ์ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ ํฉํ 67(11 + 1 + 55)์ ์ ๋๋ค. ๊ทธ๋ฆฌ์ํ๋..
โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ์์์๋ ๋งค๋ ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ๊ฐ ์ด๋ฆฝ๋๋ค. ํด์ค์ง๋ค์ ์ ์๋ค์ด ์๊ธฐ ๋ฐ๋ก ์์ ์ ์๋ฅผ ์ถ์ํ ๋ ์ถ์ํ ์ ์์ ์ด๋ฆ์ ๋ถ๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด 1๋ฑ๋ถํฐ 3๋ฑ๊น์ง "mumu", "soe", "poe" ์ ์๋ค์ด ์์๋๋ก ๋ฌ๋ฆฌ๊ณ ์์ ๋, ํด์ค์ง์ด "soe"์ ์๋ฅผ ๋ถ๋ ๋ค๋ฉด 2๋ฑ์ธ "soe" ์ ์๊ฐ 1๋ฑ์ธ "mumu" ์ ์๋ฅผ ์ถ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ "soe" ์ ์๊ฐ 1๋ฑ, "mumu" ์ ์๊ฐ 2๋ฑ์ผ๋ก ๋ฐ๋๋๋ค. ์ ์๋ค์ ์ด๋ฆ์ด 1๋ฑ๋ถํฐ ํ์ฌ ๋ฑ์ ์์๋๋ก ๋ด๊ธด ๋ฌธ์์ด ๋ฐฐ์ด players์ ํด์ค์ง์ด ๋ถ๋ฅธ ์ด๋ฆ์ ๋ด์ ๋ฌธ์์ด ๋ฐฐ์ด callings๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฒฝ์ฃผ๊ฐ ๋๋ฌ์ ๋ ์ ์๋ค์ ์ด๋ฆ์ 1๋ฑ๋ถํฐ ๋ฑ์ ์์๋๋ก ๋ฐฐ์ด์ ๋ด์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ ..
๐ ๋ค์ด๊ฐ๋ฉฐ ์๊ณ ๋ฆฌ์ฆ, ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ณต๋ถํ๋ ๋ฐ์ ์์ด์ ์๊พธ ๋น ์ค(Big O), ๋น ์ค(Big O) ๊ฑฐ๋ฆฌ๋๋ฐ ๋๋์ฒด ๋น ์ค(Big O)๊ฐ ๋ญ๊ณ ์ ์ฌ์ฉํ๋ ๊ฑด์ง ๋ชฐ๋ผ์ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ฒ ๋๋ค. 1. ๋น ์ค(Big O) ํ๊ธฐ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฑฐ์ง? ๋จผ์ ๋น ์ค(Big O) ํ๊ธฐ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฑธ๊น. ์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ ํด๊ฒฐ์ ์์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ๊ฐ ๋๋ค์์ด๋ค. ์ ์ n์ ๋ฐ์ผ๋ฉด 1๋ถํฐ n๊น์ง์ ํฉ์ ๊ตฌํ๋ ๋ ๊ฐ์ง์ ์ฝ๋๋ฅผ ์๋ก ๋ค์ด๋ณด๊ฒ ๋ค. ์ฒซ ๋ฒ์งธ ์ฝ๋ function addUpTo(n) { let total = 0; for (let i = 1; i O(1), O(5n^2) => O(n^2) ๋ฑ ์ด๋ฐ ์์ผ๋ก ํ๊ธฐํ๋ ๊ฒ์ด๋ค. 3-3 ๊ณ์ฐ ๋ฐฉ๋ฒ ๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ์ฐ์ฐ์ด ๋ช ..
๐ ๋ค์ด๊ฐ๋ฉฐ ํ๋ก๊ทธ๋๋จธ์ค์์ ์ฐ์ต๋ฌธ์ '2์ฐจ์์ผ๋ก ๋ง๋ค๊ธฐ' ๋ฌธ์ ๋ฅผ ํ๋ ๋์ค ์ฌ๋ฌ ๋ฐฉ์์ด ์์๊ณ ๋ด๊ฐ ํผ ๋ฐฉ์๊ณผ ๋ค๋ฅธ ๋ฐฉ์์ ๋น๊ตํ๋ฉฐ ๊ฐ์ด ์ดํดํ๊ธฐ ์ํด ๊ธฐ๋กํ๋ค. โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ์ ์ ๋ฐฐ์ด num_list์ ์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. num_list๋ฅผ ๋ค์ ์ค๋ช ๊ณผ ๊ฐ์ด 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ฐ๊ฟ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. num_list๊ฐ [1, 2, 3, 4, 5, 6, 7, 8] ๋ก ๊ธธ์ด๊ฐ 8์ด๊ณ n์ด 2์ด๋ฏ๋ก num_list๋ฅผ 2 * 4 ๋ฐฐ์ด๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํฉ๋๋ค. 2์ฐจ์์ผ๋ก ๋ฐ๊ฟ ๋์๋ num_list์ ์์๋ค์ ์์์๋ถํฐ n๊ฐ์ฉ ๋๋ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝํฉ๋๋ค. num_list n result [1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [..
๐ ๋ค์ด๊ฐ๋ฉฐ DFS ๊น์ด ์ฐ์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋จธ์ค 'ํ๊ฒ ๋๋ฒ' ๋ฌธ์ ํ์ด๋ฅผ ํด๋ณด๊ฒ ๋ค. โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ ์์ต๋๋ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์ฌ์ฉํ ์ ์๋ ์ซ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers, ํ๊ฒ ๋๋ฒ target์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ซ์๋ฅผ ์ ์ ํ ๋ํ๊ณ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ ์ฌํญ ์ฃผ์ด์ง๋ ์ซ..
๐ ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ(nodejs)๋ก ๋ฐฑ์ค 1966๋ฒ ๋ฌธ์ ์ธ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ 'ํ๋ฆฐํฐ ํ' ๋ฌธ์ ๋ฅผ ํ์ดํด๋ณด๊ฒ ๋ค. โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์ ์์ฌ์ FIFO - First In First Out - ์ ๋ฐ๋ผ ์ธ์๊ฐ ๋๊ฒ ๋๋ค. ํ์ง๋ง ์๊ทผ์ด๋ ์๋ก์ด ํ๋ฆฐํฐ๊ธฐ ๋ด๋ถ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ์๋๋ฐ, ์ด ํ๋ฆฐํฐ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ธ์๋ฅผ ํ๊ฒ ๋๋ค. 1. ํ์ฌ Queue์ ๊ฐ์ฅ ์์ ์๋ ๋ฌธ์์ ‘์ค์๋’๋ฅผ ํ์ธํ๋ค. 2. ๋๋จธ์ง ๋ฌธ์๋ค ์ค ํ์ฌ ๋ฌธ์๋ณด๋ค ์ค์๋๊ฐ ๋์ ๋ฌธ์๊ฐ ํ๋๋ผ๋ ์๋ค๋ฉด, ์ด ๋ฌธ์๋ฅผ ์ธ์ํ์ง ์..
๐ ๋ค์ด๊ฐ๋ฉฐ DFS ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋จธ์ค '๋คํธ์ํฌ' ๋ฌธ์ ํ์ด๋ฅผ ํด๋ณด๊ฒ ๋ค. โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ ๋ ์ปดํจํฐ A์ ์ปดํจํฐ C๋ ๊ฐ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ ๋ณด๋ฅผ ๊ตํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ปดํจํฐ A, B, C๋ ๋ชจ๋ ๊ฐ์ ๋คํธ์ํฌ ์์ ์๋ค๊ณ ํ ์ ์์ต๋๋ค. ์ปดํจํฐ์ ๊ฐ์ n, ์ฐ๊ฒฐ์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด computers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋คํธ์ํฌ์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์์ค. ์ ํ ์ฌํญ ์ปดํจํฐ์ ๊ฐ์ n์ 1 ์ด์ 200 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ๊ฐ ์ปดํจํฐ๋ ..
๐ ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ(nodejs)๋ก ๋ฐฑ์ค 1931๋ฒ ๋ฌธ์ ์ธ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ 'ํ์์ค ๋ฐฐ์ ' ๋ฌธ์ ๋ฅผ ํ์ดํด๋ณด๊ฒ ๋ค. โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ํ ๊ฐ์ ํ์์ค์ด ์๋๋ฐ ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ N๊ฐ์ ํ์์ ๋ํ์ฌ ํ์์ค ์ฌ์ฉํ๋ฅผ ๋ง๋ค๋ ค๊ณ ํ๋ค. ๊ฐ ํ์ I์ ๋ํด ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ์ฃผ์ด์ ธ ์๊ณ , ๊ฐ ํ์๊ฐ ๊ฒน์น์ง ์๊ฒ ํ๋ฉด์ ํ์์ค์ ์ฌ์ฉํ ์ ์๋ ํ์์ ์ต๋ ๊ฐ์๋ฅผ ์ฐพ์๋ณด์. ๋จ, ํ์๋ ํ๋ฒ ์์ํ๋ฉด ์ค๊ฐ์ ์ค๋จ๋ ์ ์์ผ๋ฉฐ ํ ํ์๊ฐ ๋๋๋ ๊ฒ๊ณผ ๋์์ ๋ค์ ํ์๊ฐ ์์๋ ์ ์๋ค. ํ์์ ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ๊ฐ์ ์๋ ์๋ค. ์ด ๊ฒฝ์ฐ์๋ ์์ํ์๋ง์ ๋๋๋ ๊ฒ์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ์์ ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N+1 ์ค๊น์ง ..
๐ ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ(nodejs)๋ก ๋ฐฑ์ค 1316๋ฒ ๋ฌธ์ ์ธ '๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค' ๋ฌธ์ ๋ฅผ ํ์ดํด๋ณด๊ฒ ๋ค. โ ๋ฌธ์ ๋ฌธ์ ์ค๋ช ๊ทธ๋ฃน ๋จ์ด๋ ๋จ์ด์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ ๋ํด์, ๊ฐ ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋ํ๋๋ ๊ฒฝ์ฐ๋ง์ ๋งํ๋ค. ์๋ฅผ ๋ค๋ฉด, ccazzzzbb๋ c, a, z, b๊ฐ ๋ชจ๋ ์ฐ์ํด์ ๋ํ๋๊ณ , kin๋ k, i, n์ด ์ฐ์ํด์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด์ด์ง๋ง, aabbbccb๋ b๊ฐ ๋จ์ด์ ธ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฃน ๋จ์ด๊ฐ ์๋๋ค. ๋จ์ด N๊ฐ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ทธ๋ฃน ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ๋ค์ด์จ๋ค. N์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๋จ์ด๊ฐ ๋ค์ด์จ๋ค. ๋จ์ด๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ๋์ด์๊ณ ์ค๋ณต๋์ง ์์ผ๋ฉฐ, ๊ธธ์ด๋ ์ต๋ 1..