2023. 11. 18. 20:30ใ์ธํ๋ฐ/์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ ๋ฌธ : ์ฝ๋ฉํ ์คํธ ๋๋น
https://hyejin.tistory.com/1254
-> ์ด์ ๋ฌธ์ ํ์ด
3. ํฉํ ๋ฆฌ์ผ
์ค๋ช
์์ฐ์ N์ด ์ ๋ ฅ๋๋ฉด N!๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์๋ฅผ ๋ค์ด 5! = 5*4*3*2*1=120์ ๋๋ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N(1<=N<=10)์ด ์ฃผ์ด์ง๋๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ Nํฉํ ๋ฆฌ์ผ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
์์ ์ ๋ ฅ 1
5
์์ ์ถ๋ ฅ 1
120
๋ฌธ์ ํ์ด 1
public int DFS(int n) {
if (n != 1) {
return n * DFS(n - 1);
}else {
return 1;
}
}
๐พ : ์ฌ๊ท ํจ์ ๊ธฐ์ด ๋ฌธ์ ํธ๋๋ฐ ํฉํ ๋ฆฌ์ผ ๋ฌธ์ ๋ ํญ์ ํ์๋ก ๋์ค๋ ์์ ์ธ ๊ฒ ๊ฐ๋ค. ใ ใ
์๋ฌดํผ ํฉํ ๋ฆฌ์ผ์ 5! ์ด๋ค. ํ๋ฉด 5 * 4 * 3 * 2 * 1 = 120 ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
๋ฐ๋ผ์ ์ฌ๊ท ํจ์๋ก ๋ฌธ์ ๋ฅผ ํผ๋ค ํ๋ฉด n์ด 1์ด ์๋ ๋ ๊น์ง n * DFS(n-1) ์ ํ๋ฉด์ ๊ณฑํด์ฃผ๋ฉด ๋๊ณ , 0์ด ๋๊ธฐ์ n ์ด 1์ด ๋๋ฉด 1์ ๋ฆฌํดํ๊ณ ์ฌ๊ท ํจ์๋ ์ข ๋ฃ๋๋ค.
DFS(5) = 5 * DFS(4)
4 * DFS(3)
3 * DFS(2)
2 * DFS(1)
1
-> ์ด๋ ๊ฒ ์งํ๋๊ณ , ์ด์ ๊ณ์ฐํ ๋๋ 1 * 2 * 3 * 4 * 5 ๋ก ์ฐจ๋ก๋๋ก ์คํ์์ ๊บผ๋ด์ ๊ณ์ฐํด์ฃผ๊ณ , ๋ง์ง๋ง ๊ฐ 120 ์ ๋ฆฌํดํ๋ค.