
๋ฌธ์ ์ฒ ์๋ ๊ณ๋จ์ ์ค๋ฅผ ๋ ํ ๋ฒ์ ํ ๊ณ๋จ ๋๋ ๋ ๊ณ๋จ์ฉ ์ฌ๋ผ๊ฐ๋ค. ๋ง์ฝ ์ด 4๊ณ๋จ์ ์ค๋ฅธ๋ค๋ฉด ๊ทธ ๋ฐฉ๋ฒ์ ์๋ (1 + 1 + 1 + 1, 1 + 1 + 2, 1 + 2 + 1, 2 + 1 + 1, 2 + 2) ๋ก 5๊ฐ์ง์ด๋ค.๊ทธ๋ ๋ค๋ฉด N๊ณ๋จ์ผ ๋ ์ฒ ์๊ฐ ์ฌ๋ผ๊ฐ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ ๋ช๊ฐ์ง์ธ๊ฐ? ์ฝ๋ function solution(n) { let answer = 0; function DFS(sum) { if(sum > n) return; //cut-edge if(sum === n) { answer++; return; } else { DFS(sum + 1); DFS(sum + 2); } } DFS(0); return answer; } console.log(solution(7)); ์ค๋ต ํด๋น ๋ฌธ์ ๋ ๊น..

๋ฌธ์ ๋ฌธ์ ํ์ด https://choi95.tistory.com/126 [DFS]๋ฏธ๋ก ํ์ ๋ฌธ์ ๋ฌธ์ ํ์ด https://choi95.tistory.com/39 ๋ด์ฐ๋ฆฌ ๋ฌธ์ ์ง๋ ์ ๋ณด๊ฐ N*N ๊ฒฉ์ํ์ ์ฃผ์ด์ง๋ค. ๊ฐ ๊ฒฉ์์๋ ๊ทธ ์ง์ญ์ ๋์ด๊ฐ ์ฐ์ฌ์์ต๋๋ค. ๊ฐ ๊ฒฉ์ํ์ ์ซ์ ์ค ์์ ์ ์ํ์ข์ฐ ์ซ์๋ณด๋ค ํฐ ์ซ์ choi95.tistory.com ํด๋น ๋ฌธ์ ๋ ์ด์ ์ ํฌ์คํ ํ๋ ๋ฏธ๋ก ํ์ ๋ฌธ์ ์ ๋งค์ฐ ์ ์ฌํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ฐจ์ด์ ์ด ์๋ค. ํ์ ๋ฐฉํฅ์ด '์ข ์ฐ ์ ํ' ์ธ์๋ ๋๊ฐ์ ๊น์ง ํฌํจ๋์ด์ผ ํ๋ค. ์ฌ๋ฌ ๊ฐ๋์ ๊ธธ์ ๊ตฌํ๋ ๋ฏธ๋ก ํ์์ ํ๋ฒ ํ์ํ๋ ๊ธธ์ ๊ฐ๋ ์ง์ ์ผ๋ก ์ฒดํฌํ ๋ค์ ๋ฐฑํธ๋ํน์ ํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด ๋ค์ ์ฌ๊ท ํธ์ถ์ ๋ง์น ๋ค์ ๊ฐ์ง ์์์์ผ๋ก ์ด๊ธฐํ ํด์ฃผ์ง๋ง ํด๋น ๋ฌธ์ ์์๋ ์ ํด์ ธ ์๋ ์ฌ์ ..

๋ฌธ์ ํ์๋ ์ก์์ง๋ฅผ ์์ด๋ฒ๋ ธ๋ค. ๋คํํ ์ก์์ง์๋ ์์น์ถ์ ๊ธฐ๊ฐ ๋ฌ๋ ค ์๋ค. ํ์์ ์์น์ ์ก์์ง์ ์์น๊ฐ ์์ง์ ์์ ์ขํ ์ ์ผ๋ก์ฃผ์ด์ง๋ฉด ํ์๋ ํ์ฌ ์์น์์ ์ก์์ง์ ์์น๊น์ง ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ํ๋ค. ์ก์์ง๋ ์์ง์ด์ง ์๊ณ ์ ์๋ฆฌ์ ์๋ค. ํ์๋ ์ค์นด์ด ์ฝฉ์ฝฉ์ ํ๊ณ ๊ฐ๋๋ฐ ํ ๋ฒ์ ์ ํ๋ก ์์ผ๋ก 1, ๋ค๋ก 1, ์์ผ๋ก 5๋ฅผ ์ด๋ํ ์ ์๋ค. ์ต์ ๋ช๋ฒ์ ์ ํ๋ก ํ์๊ฐ ์ก์์ง์ ์์น๊น์ง ๊ฐ ์ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋ฌธ์ ํ์ด ์ด๋ ์ค์ํ ์ ์ ํ๋ฒ ๋ฐฉ๋ฌธํ๋ ์ง์ ์ ๋ ์ด์ ์ฐธ์กฐ ๋ฐ ์ํํ์ง ์์์ผ๋ก์จ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ค์ด๋ ๊ฒ์ด๋ค. ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ ์ง์ ์ ๋ํ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฑฐ๋ฆฌ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ๋ฐฐ์ด์ ์ ์ฅํ์๋ค. ์ฝ๋ function solution(s,..

๋ฌธ์ https://choi95.tistory.com/110?category=854389 [DFS]์ด์งํธ๋ฆฌ ์ํ ๋ฌธ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ด์งํธ๋ฆฌ๋ฅผ ์ ์์ํ, ์ค์์ํ, ํ์์ํ๋ฅผ ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ์ธ์. ๊ฐ๋ ํธ๋ฆฌ(Tree) ๋ ธ๋(node)๋ก ์ด๋ฃจ์ด์ง ๋น์ ํ ์๋ฃ ๊ตฌ์กฐ ํธ๋ฆฌ๋ ํ๋์ ๋ฃจํธ(root) ๋ ธ๋๋ฅผ ๊ฐ๊ณ ์์ ๋ฃจ choi95.tistory.com ์ด์ ๊น์ด ์ฐ์ ํ์ํ ์ด์งํธ๋ฆฌ๋ฅผ ์ด๋ฒ์๋ ๋์ด ์ฐ์ ํ์์ผ๋ก ๊ตฌํํด๋ณด๊ณ ์ ํ๋ค. ๋ฌธ์ ํ์ด ๋๋น ์ฐ์ ํ์(BFS_Breadth-First Search) ๋ฃจํธ ๋ ธ๋(Root Node) ๋๋ ๋ค๋ฅธ ์์์ ๋ ธ๋๋ฅผ ์ ์ ์ผ๋ก, ์ธ์ ํ ๋ ธ๋๋ฅผ ๋จผ์ ํ์ํ๋ ๋ฐฉ๋ฒ ์์ ์ ์ ์ผ๋ก๋ถํฐ ๊ฐ๊น์ด ์ ์ ์ ๋จผ์ ๋ฐฉ๋ฌธํ๊ณ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ์ ์ ์ ๋์ค์ ๋ฐฉ๋ฌธํ๋ ์ํ ๋ฐฉ๋ฒ ์ ์ฉ ์..

๋ฌธ์ ๋ฌธ์ ํ์ด https://choi95.tistory.com/39 ๋ด์ฐ๋ฆฌ ๋ฌธ์ ์ง๋ ์ ๋ณด๊ฐ N*N ๊ฒฉ์ํ์ ์ฃผ์ด์ง๋ค. ๊ฐ ๊ฒฉ์์๋ ๊ทธ ์ง์ญ์ ๋์ด๊ฐ ์ฐ์ฌ์์ต๋๋ค. ๊ฐ ๊ฒฉ์ํ์ ์ซ์ ์ค ์์ ์ ์ํ์ข์ฐ ์ซ์๋ณด๋ค ํฐ ์ซ์ ๋ ๋ด์ฐ๋ฆฌ ์ง์ญ์ด๋ค. ๋ด์ฐ๋ฆฌ ์ง์ญ์ด ๋ช ๊ฐ ์ choi95.tistory.com ํด๋น ๋ฌธ์ ๋ ์ด์ ์ ํ์๋ ๋ด์ฐ๋ฆฌ ๋ฌธ์ ํ์ด์ ํก์ฌํ๋ค. ์ํ์ข์ฐ๋ฅผ ๋ํ๋ด๋ ๋ณ๋์ ์ด๋ ๋ฐฉํฅ ๋ฐฐ์ด์ ์ ์ธํ์ฌ ์ฃผ๊ณ ํ์ฌ ๋ณด๋์ ์์น์์ ํด๋น ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ์ํ์ข์ฐ๋ฅผ ์ํํ๋ฉฐ ๊ฐ ์ ์๋ ๊ธธ์ธ์ง ์๋์ง ํ์ธํด์ฃผ๋ฉด ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ ์ ๋ด์ฐ๋ฆฌ ๋ฌธ์ ๋ ์ค์ฒฉ for๋ฌธ์ ์ํํ์ฌ ์ขํ์ ๋ฐฉํฅ์ ๊ฒฐ์ ์ง์๋ค๋ฉด ์ด๋ฒ ๋ฌธ์ ์์๋ ์ฌ๊ท ํธ์ถ์ ํตํด์ ํด๋น ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑ์์ผฐ๋ค. ์ฝ๋ function solutio..

๋ฌธ์ https://choi95.tistory.com/124 [์ธ์ ํ๋ ฌ]๊ฒฝ๋ก ํ์ ๋ฌธ์ ๋ฌธ์ ํ์ด ์ธ์ ํ๋ ฌ ์ธ์ ํ๋ ฌ์ ๊ทธ๋ํ์ ์ฐ๊ฒฐ ๊ด๊ณ๋ฅผ ์ด์ฐจ์ ๋ฐฐ์ด๋ก ๋ํ๋ด๋ ๋ฐฉ์ arr[i][j]: ๋ ธ๋ i(ํ)์์ j(์ด)๋ก ๊ฐ๋ ๊ฐ์ ์ด ์์ผ๋ฉด 1, ์๋๋ฉด 0_๋จ๋ฐฉํฅ๊ทธ๋ํ์ ๊ฒฝ์ฐ ์ธ์ ํ๋ ฌ์ ํน์ฑ choi95.tistory.com ๋ฌธ์ ํ์ด ์ด์ ๊ฒฝ๋ก ํ์์ ๊ตฌํ๋ ๊ณผ์ ์์ ์ธ์ ํ๋ ฌ์ ์ฌ์ฉํ์ฌ ์ ์ ์ผ๋ก ๊ฐ๋ ๊ฐ์ง ์๋ฅผ ๊ตฌํ์๋ค. ํ์ง๋ง ๊ฐ ์ ์ ์ ๋ํด์ ๋ค์ ์ ์ ์ผ๋ก ๊ฐ ์ ์๋ ํ๋ณด๊ตฐ์ ํ(ํ์ฌ ์ ์ )๊ณผ ์ด(๋ค์ ์ ์ )์ ์ ์ฅํ๋ค๋ฉด ํ์ ๊ณผ์ ์์๋ถํ์ํ ์ธ๋ฑ์ค ์์๊น์ง ์ผ์ผํ ํ์ธํ๋ฉด์ ์ํํด์ผ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ํ์ฌ๋ ์ด(๋ค์ ์ ์ )์ ์๊ฐ ์ ์ด ํฌ๊ฒ ์๊ด์ ์์ผ๋ ํ๋ณด๊ตฐ์ด ๋ฌด์ํ ๋ง์ง๋ง ๊ทธ ์ค ์ค์ ..

๋ฌธ์ ๋ฌธ์ ํ์ด ์ธ์ ํ๋ ฌ ์ธ์ ํ๋ ฌ์ ๊ทธ๋ํ์ ์ฐ๊ฒฐ ๊ด๊ณ๋ฅผ ์ด์ฐจ์ ๋ฐฐ์ด๋ก ๋ํ๋ด๋ ๋ฐฉ์ arr[i][j]: ๋ ธ๋ i(ํ)์์ j(์ด)๋ก ๊ฐ๋ ๊ฐ์ ์ด ์์ผ๋ฉด 1, ์๋๋ฉด 0_๋จ๋ฐฉํฅ๊ทธ๋ํ์ ๊ฒฝ์ฐ ์ธ์ ํ๋ ฌ์ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ๋ฌธ์ ์์์ ๊ฒฝ๋ก ๊ฒฝ์ฐ์์ ๋ง์กฑํ๋ ์ธ์ ํ๋ ฌ์ ์์ฑํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค. ํ์ ๊ธฐ์ค์ผ๋ก ์ด๋ก ์ด๋ํ์ ๋ ๊ฒฝ๋ก๊ฐ ์๋ค๋ฉด 1์, ์๋๋ฉด 0์ ๋ฐฐ์ด ๋ด์ ํ ๋นํ๋ค. ๊ฐ ํ์ ์ ์ (ํ์ฌ ์๋ ์์น), ๊ฐ ์ด์ ๋ค์ ํ์ ์ง ํ๋ณด๊ตฐ ์ด๋ผ๊ณ ์ ๋ฆฌํ ์ ์๋ค. ์ด๋ฅผ ๋ ธ๋๋ฅผ ํตํด ๊น์ด ํ์ ๊ณผ์ ์ผ๋ก ๋ฐ๊ฟ ๊ทธ๋ ค ๋ณธ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์จ๋ค. ์ฝ๋ function solution(n, arr) { let answer = 0; let graph = Array.from(Array(n + 1), (..

๋ฌธ์ ๋ฌธ์ ํ์ด ๋จผ์ ํด๋น ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ํ์ค์นผ์ ์ผ๊ฐํ์ ์คํํ ๊ฒฐ๊ณผ๊ฐ์ด ์ดํญ๊ณ์๋ฅผ ์ด์ฉํด ๊ณ์ฐํ ์ต์ข ๊ฐ๊ณผ ๊ฐ์์ ์์์ผ ํ๋ค. ๋ค์ ๊ทธ๋ฆผ์์ ๋ณธ ๋ฐ์ ๊ฐ์ด ํ์ค์นผ์ ์ผ๊ฐํ์ ์คํํ ๊ฒฐ๊ณผ ๊ฐ์ (1 ร 1) + (2 ร 3) + (3 ร 3) + (4 ร 1)์ด๋ฉฐ N์ด 4์ผ ๊ฒฝ์ฐ์ ์์ด ์์๊ฐ ์ด๋ป๋ ๊ฐ์ {1 3 3 1}์ ๋ฒ์ ๋ด์์ ๊ฒฐ๊ณผ๊ฐ์ด ์ฐ์ถ๋๋ค. ๋ํ ์ด๋ฅผ ์ข ๋ ๊ตฌํ๊ธฐ ํธํ ์ดํญ ๊ณ์๋ก ํํํ๋ค๋ฉด 3C0 3C1 3C2 3C3๋ก ๋ฐ๊ฟ ์ ์๋ค. {1 3 3 1}์ ์ดํญ ๊ณ์๋ก ๊ตฌํด๋์ง ์์ ๊ฒฝ์ฐ ์์ด์ ๊ตฌํ ๋๋ง๋ค ๋งค๋ฒ ํ์ค์นผ์ ์ผ๊ฐํ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋๋ฐ ์ด๋ ์๊ฐ ๋ณต์ก๋ ์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค. ์ฝ๋ function solution(n, f) { let answer = []; let ..