[JavaScript/section 10] 01 - ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 01 - ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ(๋™์  ๊ณ„ํš๋ฒ•) ์ฒ ์ˆ˜๋Š” ๊ณ„๋‹จ์„ ์˜ค๋ฅผ ๋•Œ ํ•œ ๋ฒˆ์— ํ•œ ๊ณ„๋‹จ ๋˜๋Š” ๋‘ ๊ณ„๋‹จ์”ฉ ์˜ฌ๋ผ๊ฐ„๋‹ค. ๋งŒ์•ฝ ์ด 4๊ณ„๋‹จ์„ ์˜ค๋ฅธ๋‹ค๋ฉด ๊ทธ ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋Š” 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2๋กœ 5๊ฐ€์ง€์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด N๊ณ„๋‹จ์ผ ๋•Œ ์ฒ ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋Š” ๋ช‡ ๊ฐ€์ง€์ธ๊ฐ€? ๐Ÿ“ ํ’€์ด ๋ฐฉ๋ฒ•(DFS, DP) DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜๋‹ค. ์ •๋‹ต์€ ํ›Œ๋ฅญํ•˜๊ฒŒ๋„ ์ž˜ ๋‚˜์˜จ๋‹ค ๐Ÿ‘ ํ•˜์ง€๋งŒ n์˜ ๊ฐ’์ด ์ปค์ง„๋‹ค๋ฉด...โ“ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋™์  ๊ณ„ํš๋ฒ•(dynamic programming, DP)์ด ์กด์žฌํ•œ๋‹ค. function solution(n) { let answer = 0; function DFS(sum) { if (sum > n)..
_์„ฑํ˜ธ_
'dynamic programming' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก