Algorithm/์ธํ๋ฐ(inflearn)
๐ 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)
๐ 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)
๐ 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)
๐ 12 - ์กฐํฉ์ ๊ฒฝ์ฐ ์(๋ฉ๋ชจ์ด์ ์ด์
) nCr = n! / (n - r)!r! ๋ก ๊ณ์ฐํ๋ค. ํ์ง๋ง ์ด ๊ณต์์ ์ฐ์ง ์๊ณ ๋ค์ ๊ณต์์ ์ฌ์ฉํ์ฌ ์ฌ๊ท๋ฅผ ์ด์ฉํด ์กฐํฉ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์
๋ ฅ์ค๋ช
์ฒซ์งธ ์ค์ ์์ฐ์ n(3