ํŠน์ • ๊ฐ’์„ ๋งŒ์กฑํ•˜๋Š” ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ(ps.ํŒŒ์ด์ฌ์˜ ์œ„์—„..)

๋ฌธ์ œ n๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ nums์™€ ์ •์ˆ˜ target์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, num์— ์žˆ๋Š” ์ •์ˆ˜ 4๊ฐœ๋ฅผ ํ•ฉํ•˜์—ฌ target์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์กฐํ•ฉ์„ ๊ตฌํ•˜์‹œ์˜ค.๋‹จ, ์ •๋‹ต์—๋Š” ๋™์ผํ•œ ์ •์ˆ˜ ์กฐํ•ฉ์ด ์—ฌ๋Ÿฌ๊ฐœ ํฌํ•จ๋˜์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ๋ฌธ์ œํ’€์ด ์ค‘๋ณต์„ ํ—ˆ๋ฝํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ฒดํฌ ๋ฐฐ์—ด์„ ์ƒ์„ฑ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ •์ˆ˜ ์กฐํ•ฉ์€ ์—ฌ๋Ÿฌ๊ฐœ ํฌํ•จ๋˜๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๊นŠ์ด ํƒ์ƒ‰์„ ํ†ตํ•ด ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋Š” ์กฐํ•ฉ์„ ์ •๋‹ต ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ์‹œํ‚ค๊ณ , ์ฒ˜์Œ ์žฌ๊ท€๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ํ•ด๋‹น ์ •๋‹ต ๋ฆฌ์ŠคํŠธ์— ํ˜„์žฌ ๊ฒ€์‚ฌํ•˜๋Š” ์กฐํ•ฉ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌ_์กฐํ•ฉ์€ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๊ณ , ์žˆ๋‹ค๋ฉด ๊ทธ๋Œ€๋กœ ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒ ์ฒ˜์Œ์—๋Š” 3๋ฒˆ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด forEach ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆœํšŒํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ..

[๋ฉ”๋ชจ์ด์ œ์ด์…˜]์กฐํ•ฉ์˜ ๊ฒฝ์šฐ์ˆ˜

๋ฌธ์ œ ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์ „ ํ•ด๋‹น ๊ณต์‹์ด ์–ด๋–ป๊ฒŒ ์„ฑ๋ฆฝ์ด ๋˜๋Š”์ง€ ์‚ดํŽด ๋ณด์ž. ์˜ˆ๋ฅผ ๋“ค์–ด 5๊ฐœ์˜ ๊ฒฝ์šฐ์ˆ˜ ์ค‘ 3๊ฐœ๋ฅผ ๋ฝ‘๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. ์ด๋•Œ ๊ฐ€์žฅ ํฐ ๊ฐ’์ธ 5(n)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ดค์„ ๋•Œ, ์กฐํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ํฌ๊ฒŒ 5๋ฅผ ํฌํ•จํ•œ ๊ฒฝ์šฐ์™€ 5๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์ธ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. 5๋ฅผ ํฌํ•จํ•  ๊ฒฝ์šฐ์—๋Š” ๋‚จ์€ 4๊ฐœ์˜ ๊ฒฝ์šฐ์ˆ˜ ์ค‘ ๋‚˜๋จธ์ง€ ์ž๋ฆฌ 2๊ฐœ(r-1)๋ฅผ ๋ฝ‘๊ณ  5๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š” ๋‚จ์€ 4๊ฐœ ๊ฒฝ์šฐ์ˆ˜ ์ค‘ ๋‚˜๋จธ์ง€ 3๊ฐœ(r)๊ฐœ๋ฅผ ๋ฝ‘์€ ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ function solution(n, r) { let answer = 0; function DFS(n , r) { if(n === r || r === 0) return 1; //๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๊ฒฝ์šฐ์ˆ˜ 1์„ ๋ฐ˜ํ™˜ else return DFS(n ..

[DFS]์ตœ๋Œ€ ์ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

๋ฌธ์ œ ์ด๋ฒˆ ์ •๋ณด์˜ฌ๋ฆผํ”ผ์•„๋“œ ๋Œ€ํšŒ์—์„œ ์ข‹์€ ์„ฑ์ ์„ ๋‚ด๊ธฐ ์œ„ํ•˜์—ฌ ํ˜„์ˆ˜๋Š” ์„ ์ƒ๋‹˜์ด ์ฃผ์‹  N๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.๊ฐ ๋ฌธ์ œ๋Š” ๊ทธ๊ฒƒ์„ ํ’€์—ˆ์„ ๋•Œ ์–ป๋Š” ์ ์ˆ˜์™€ ํ‘ธ๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ œํ•œ์‹œ๊ฐ„ M์•ˆ์— N๊ฐœ์˜ ๋ฌธ์ œ ์ค‘ ์ตœ๋Œ€์ ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.(ํ•ด๋‹น๋ฌธ์ œ๋Š” ํ•ด๋‹น์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋ฉด ํ‘ธ๋Š” ๊ฑธ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. ํ•œ ์œ ํ˜• ๋‹น ํ•œ ๊ฐœ๋งŒ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ๋ฌธ์ œํ’€์ด ์ฝ”๋“œ function solution(limit, arr) { let answer = Number.MIN_SAFE_INTEGER; let n = arr.length; function DFS(level, time, sum) { if(level === n) { if(time > limit) return; //์ œํ•œ ์‹œ๊ฐ„์„ ์ดˆ๊ณผํ–ˆ์„ ๊ฒฝ์šฐ answer = Ma..

[DFS]ํ•ฉ์ด ๊ฐ™์€ ๋ถ€๋ถ„์ง‘ํ•ฉ

๋ฌธ์ œ N๊ฐœ์˜ ์›์†Œ๋กœ ๊ตฌ์„ฑ๋œ ์ž์—ฐ์ˆ˜ ์ง‘ํ•ฉ์ด ์ฃผ์–ด์ง€๋ฉด, ์ด ์ง‘ํ•ฉ์„ ๋‘ ๊ฐœ์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ์›์†Œ์˜ ํ•ฉ์ด ์„œ๋กœ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•˜๋ฉด “YES"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ”NO"๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ๋‘˜๋กœ ๋‚˜๋‰˜๋Š” ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์€ ์„œ๋กœ์†Œ ์ง‘ํ•ฉ์ด๋ฉฐ, ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ํ•ฉํ•˜๋ฉด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์›๋ž˜์˜ ์ง‘ํ•ฉ์ด ๋˜์–ด ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด {1, 3, 5, 6, 7, 10}์ด ์ž…๋ ฅ๋˜๋ฉด {1, 3, 5, 7} = {6, 10} ์œผ๋กœ ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ํ•ฉ์ด 16์œผ๋กœ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œํ’€์ด_๋ฌถ์Œ ๊ธฐ์ค€ ๋ฌถ์„ ๊ฒฝ์šฐ์™€ ๋ฌถ์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ  ๋‹ค์Œ ๋ ˆ๋ฒจ๋กœ ์ด๋™ depth๋ฅผ ๋„˜์–ด์„ค ๊ฒฝ์šฐ ํƒ์ƒ‰ ์ข…๋ฃŒ ๋ฐ ๋‚˜๋‰œ ๋‘ ์ง‘ํ•ฉ์„ ๋น„๊ต ์ฝ”๋“œ function solution(d, n) { le..

[DFS]๋ถ€๋ถ„์ง‘ํ•ฉ ๊ตฌํ•˜๊ธฐ

๋ฌธ์ œ ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด 1๋ถ€ํ„ฐ N๊ฐœ๊นŒ์ง€์˜ ์›์†Œ๋ฅผ ๊ฐ–๋Š” ์ง‘ํ•ฉ์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ๋ฌธ์ œํ’€์ด ์›์†Œ๊ฐ€ ํฌํ•จ๋˜๋ƒ(1) ํฌํ•จ๋˜์ง€ ์•Š๋Š๋ƒ(0)์— ๋”ฐ๋ผ ๋‘ ๊ฐ„์„ ์œผ๋กœ ๋‚˜๋ˆ” ์ž์—ฐ์ˆ˜ N๊ฐœ๊นŒ์ง€ ํƒ์ƒ‰์„ ๊ณ„์† ํ•˜๊ณ  N์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„œ๊ฒŒ ๋˜๋ฉด ํƒ์ƒ‰์„ ์ข…๋ฃŒ ๋ฐ ๋ถ€๋ถ„์ง‘ํ•ฉ ์ถœ๋ ฅ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ง€๊ธˆ๊นŒ์ง€ ํƒ์ƒ‰ ํ–ˆ๋˜ ์›์†Œ๋“ค์ด ํฌํ•จ์ธ์ง€ ๋ฏธํฌํ•จ์ธ์ง€ ์ฒดํฌํ•ด๋‘” ๋ณ„๋„์˜ ๋ณ€์ˆ˜ ํ•„์š” ์ฝ”๋“œ function solution(n) { let answer = []; let check = Array.from({length: n + 1}, () => 0); //ํฌํ•จ์ธ์ง€ ๋ฏธํฌํ•จ์ธ์ง€ ์ฒดํฌํ•˜๋Š” ๋ฐฐ์—ด(์ž์—ฐ์ˆ˜ 1๋ถ€ํ„ฐ ์‹œ์ž‘์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฒดํฌ ๋ฐฐ์—ด ๋˜ํ•œ 1๊ฐ€์‚ฐ) function DFS(v) { if(v === n + 1) { //N..

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/10   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ