알고리즘 하노이의 탑 자바 코드 정리
public class Main {
int count = 0;//전체 횟수
public static void main(String[] args) {
// TODO Auto-generated method stub
Main main = new Main();
main.solution(3);
}
public int[][] solution(int n) {
int[][] answer = new int [(int)Math.pow(2, n)-1][2];
answer = moveHanoi(1,2,3,n,answer);
for(int i=0; i<answer.length; i++){
System.out.print(answer[i][0]+"->");
System.out.println(answer[i][1]);
}
System.out.println(Arrays.deepToString(answer));
return answer;
}
public int[][] moveHanoi(int initial, int middle, int ffinal, int n, int[][]answer){
if(n==1){
answer[count][0]=initial;
answer[count][1]=ffinal;
++count;
}
else{
moveHanoi(initial, ffinal, middle, n-1, answer);
answer[count][0]=initial;
answer[count][1]=ffinal;
++count;
moveHanoi(middle, initial, ffinal, n-1, answer);
}
return answer;
}
}
참고
https://blog.martinwork.co.kr/theory/2018/10/07/hanoi-algorithm.html
'뒷이야기들 > 취업이직준비채용공고' 카테고리의 다른 글
빅히트 엔터테인먼트 IT개발 관련 채용공고 (0) | 2020.09.17 |
---|---|
프론트엔드 개발자가 되고 싶지 않았던 프론트엔드 개발자의 이직기 (0) | 2018.02.22 |
남세동 보이저엑스 대표가 밝힌 '슈퍼 개발자'의 최소 조건 (0) | 2018.02.07 |
비전공 학원출신 SI개발자, 유명스타트업 들어간 이야기 (0) | 2017.12.05 |
구글이 뽑는 사람과 뽑지 않는 사람 (0) | 2017.11.28 |