Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ธ์ด์ ํ ๋ณธ๋ฌธ
๐ ๋ฌธ์
ํ๋ ธ์ด ํ(Tower of Hanoi)์ ํผ์ฆ์ ์ผ์ข ์ ๋๋ค. ์ธ ๊ฐ์ ๊ธฐ๋ฅ๊ณผ ์ด ๊ธฐ๋์ ๊ฝ์ ์ ์๋ ํฌ๊ธฐ๊ฐ ๋ค์ํ ์ํ๋ค์ด ์๊ณ , ํผ์ฆ์ ์์ํ๊ธฐ ์ ์๋ ํ ๊ธฐ๋ฅ์ ์ํ๋ค์ด ์์ ๊ฒ์ด ์์ ์๋๋ก ์์๋๋ก ์์ฌ ์์ต๋๋ค. ๊ฒ์์ ๋ชฉ์ ์ ๋ค์ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ฉด์, ํ ๊ธฐ๋ฅ์ ๊ฝํ ์ํ๋ค์ ๊ทธ ์์ ๊ทธ๋๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ผ๋ก ์ฎ๊ฒจ์ ๋ค์ ์๋ ๊ฒ์ ๋๋ค.
1. ํ ๋ฒ์ ํ๋์ ์ํ๋ง ์ฎ๊ธธ ์ ์์ต๋๋ค.
2. ํฐ ์ํ์ด ์์ ์ํ ์์ ์์ด์๋ ์๋ฉ๋๋ค.
ํ๋ ธ์ด ํ์ ์ธ ๊ฐ์ ๊ธฐ๋ฅ์ ์ผ์ชฝ ๋ถํฐ 1๋ฒ, 2๋ฒ, 3๋ฒ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. 1๋ฒ์๋ n๊ฐ์ ์ํ์ด ์๊ณ ์ด n๊ฐ์ ์ํ์ 3๋ฒ ์ํ์ผ๋ก ์ต์ ํ์๋ก ์ฎ๊ธฐ๋ ค๊ณ ํฉ๋๋ค.
1๋ฒ ๊ธฐ๋ฅ์ ์๋ ์ํ์ ๊ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n๊ฐ์ ์ํ์ 3๋ฒ ์ํ์ผ๋ก ์ต์๋ก ์ฎ๊ธฐ๋ ๋ฐฉ๋ฒ์ returnํ๋ solution๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ก ์์ด๋์ด
๋ํ์ ์ธ ์ฌ๊ท ๋ฌธ์
โ๏ธ ํ์ด
function solution(n) {
var answer = [];
function hanoi(n, from, to, by) {
if(n === 1) {
answer.push([from, to]);
return;
}
hanoi(n-1, from, by, to);
answer.push([from, to]);
hanoi(n-1, by, to, from)
}
hanoi(n, 1, 3, 2)
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ์์ถ (0) | 2023.10.13 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ฐพ๊ธฐ (0) | 2023.09.20 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ ์ผ๊ฐํ (0) | 2023.09.12 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ (0) | 2023.08.22 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ชจ์์ฌ์ (0) | 2023.07.27 |