์กฐํ•ฉ

Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 8] 15 - ์ˆ˜๋“ค์˜ ์กฐํ•ฉ

๐Ÿ“Œ 15 - ์ˆ˜๋“ค์˜ ์กฐํ•ฉ N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ˆซ์ž๋“ค ์ค‘ K๊ฐœ๋ฅผ ๋ฝ‘๋Š” ์กฐํ•ฉ์˜ ํ•ฉ์ด ์ž„์˜์˜ ์ •์ˆ˜ M์˜ ๋ฐฐ์ˆ˜์ธ ๊ฐœ์ˆ˜๋Š” ๋ช‡ ๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด 5๊ฐœ์˜ ์ˆซ์ž 2 4 5 8 12๊ฐ€ ์ฃผ์–ด์ง€๊ณ , 3๊ฐœ๋ฅผ ๋ฝ‘์€ ์กฐํ•ฉ์˜ ํ•ฉ์ด 6์˜ ๋ฐฐ์ˆ˜์ธ ์กฐํ•ฉ์„ ์ฐพ์œผ๋ฉด 4+8+12, 2+4+12๋กœ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๐Ÿ“ ํ’€์ด ๋ฐฉ๋ฒ• ๐Ÿ˜ต ๋‚˜์˜ ํ’€์ด ๋ฐฉ๋ฒ• if๋ฌธ ์•ˆ์— 2๊ฐœ์˜ ์กฐ๊ฑด์„ ๊ฐ™์ด ์ฃผ์–ด L(๋ ˆ๋ฒจ)์ด k(๋ฝ‘๋Š” ๊ฐœ์ˆ˜)์™€ ๊ฐ™๋”๋ผ๋„ sum์ด 6์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด else๋ฌธ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๊ฒฐ๊ณผ๋Š” ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜ค์ง€๋งŒ ์‹œ๊ฐ„์„ ์žก์•„๋จน์„ ์ˆ˜ ์žˆ๋‹ค.๐Ÿคฌ L์ด k์™€ ๊ฐ™๋‹ค๋ฉด else ๋ฌธ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ if๋ฌธ ๋‚ด๋ถ€์—์„œ sum์ด 6์˜ ๋ฐฐ์ˆ˜์ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ๋น ์ ธ๋‚˜์™€์•ผ ํ•œ๋‹ค. function solution(n, k, arr,..

Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 8] 14 - ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ

๐Ÿ“Œ 14 - ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ ํžŒ ๊ตฌ์Šฌ์ด ์žˆ๋‹ค. ์ด ์ค‘ M๊ฐœ๋ฅผ ๋ฝ‘๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. M๊ฐœ๋ฅผ ๋ฝ‘๋Š”๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ ์กฐํ•ฉ์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. N์ด 4์ด๊ณ  M์ด 2์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์žโ— ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด L1์ด ์ •ํ•ด์ง€๋ฉด L2๋Š” L1 + 1๋ถ€ํ„ฐ N๊นŒ์ง€ for ๋ฌธ์„ ๋Œ๋ฉด์„œ ์ •ํ•ด์ง„๋‹ค. ๐Ÿ“ ํ’€์ด ๋ฐฉ๋ฒ• s๋Š” for๋ฌธ์—์„œ ์ดˆ๊ธฐ๊ฐ’์— ํ•ด๋‹นํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ฆผ์œผ๋กœ ํ•œ๋ฒˆ ์ดํ•ดํ•˜๊ณ  ์™ธ์šฐ๋„๋ก ํ•˜์ž(์ค‘์š”โ—) L(๋ ˆ๋ฒจ)์ด m๊ณผ ๊ฐ™๋‹ค๋ฉด ํ•˜๋‚˜์˜ ๊ฒฝ์šฐ๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด๋ฏ€๋กœ tmp๋ฅผ ์–•์€ ๋ณต์‚ฌ(slice)ํ•˜์—ฌ answer์— ์ถ”๊ฐ€ํ•œ๋‹ค. function solution(n, m) { let answer = []; let tmp = Array.from({ length: m }, () => 0); function DFS..

Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 8] 13 - ์ˆ˜์—ด ์ถ”์ธกํ•˜๊ธฐ

๐Ÿ“Œ 13 - ์ˆ˜์—ด ์ถ”์ธกํ•˜๊ธฐ ๊ฐ€์žฅ ์œ—์ค„์— 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์ˆซ์ž๊ฐ€ ํ•œ ๊ฐœ์”ฉ ์ ํ˜€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ํŒŒ์Šค์นผ์˜ ์‚ผ๊ฐํ˜•์ฒ˜๋Ÿผ ์œ„์˜ ๋‘ ๊ฐœ๋ฅผ ๋”ํ•œ ๊ฐ’์ด ์ €์žฅ๋˜๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด N์ด 4์ด๊ณ  ๊ฐ€์žฅ ์œ—์ค„์— 3 1 2 4๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ผ๊ฐํ˜•์ด ๊ทธ๋ ค์ง„๋‹ค. N๊ณผ ๊ฐ€์žฅ ๋ฐ‘์— ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ ธ ์žˆ์„ ๋•Œ ๊ฐ€์žฅ ์œ—์ค„์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‹จ, ๋‹ต์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์— ์˜ค๋Š” ๊ฒƒ์„ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ž…๋ ฅ์˜ˆ์ œ 4 16 ์ถœ๋ ฅ์˜ˆ์ œ 3 1 2 4 ์ด๋ฒˆ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ์•Œ์•„์•ผํ•œ๋‹ค. ๋นจ๊ฐ„ ์ƒ‰๊ณผ ๊ฐ™์ด ์ˆœ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ n-1C0, n-1C1, n-1C2, n-1C3๋ฒˆ ๋”ํ•ด์ง„ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ ์ˆœ์—ด ๊ตฌ..

Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 8] 12 - ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ ์ˆ˜

๐Ÿ“Œ 12 - ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ ์ˆ˜(๋ฉ”๋ชจ์ด์ œ์ด์…˜) nCr = n! / (n - r)!r! ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ณต์‹์„ ์“ฐ์ง€ ์•Š๊ณ  ๋‹ค์Œ ๊ณต์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๊ท€๋ฅผ ์ด์šฉํ•ด ์กฐํ•ฉ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ž…๋ ฅ์„ค๋ช… ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ n(3

ํ”„๋ก ํŠธ์—”๋“œ ์—”์ง€๋‹ˆ์–ด
'์กฐํ•ฉ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก