-
프로그래머스 - 하노이 탑Algorithm 2023. 6. 7. 18:46
문제
풀이
하노이 탑은 원판의 수 n, 시작하는 기둥 start, 중간의 거치는 기둥 mid, 도착할 기둥 end 총 4개의 요소가 필요하다
원판의 수가 1일 경우에는 start에서 바로 end로 넘기면 된다
아닐 경우에는 n-1개의 원판을 start에서 mid로 옮겨준다
n번째 원판을 start에서 end로 옮겨준다
mid에 있던 n-1개의 원판을 end로 옮겨준다
이 과정을 재귀함수를 통해 구현해준다
function solution(n) { let answer = []; let hanoi = (n, start, mid, end) => { if(n === 1) answer.push([start, end]); else { // n-1개의 원판을 start에서 mid로 옮김 hanoi(n-1, start, end, mid); // n번째 원판을 start에서 end로 옮김 answer.push([start, end]) // n-1개의 원판을 mid에서 end로 옮김 hanoi(n-1, mid, start, end); } } hanoi(n, 1, 2, 3); return answer; }
'Algorithm' 카테고리의 다른 글
프로그래머스 데브코스 - [3단계] 여행경로 (0) 2023.06.13 프로그래머스 데브코스 - [3단계] 가장 먼 노드 (0) 2023.06.12 프로그래머스 - 구명보트 (0) 2023.06.07 프로그래머스 - 게임 맵 최단거리 (0) 2023.05.30 프로그래머스 - 바탕화면 정리 (0) 2023.05.26