[ 문제 ]
완전 이진 트리를 만들고 레벨 전위 중위 후위 사선에 대한 출력을 할 수 있는 프로그램을 만드시오. [10 9 17 11 23 8 66 21 2 33 51 7 28]
그리고 만들어진 트리를 이용하여 레벨, 전위, 중위, 후위, 사선 출력하시오 레벨 10 9 17 11 23 8 66 21 2 33 51 7 28 전위 10 9 11 21 2 23 33 51 17 8 7 28 66 중위 21 11 2 9 33 23 51 10 7 8 28 17 66 후위 21 2 11 33 51 23 9 7 28 8 66 17 10 사선1 10 9 11 21 사선2 10 17 66 |
[ 입 출력 조건 ]
입력 첫 줄에는 Case의 수 n( 1< n <= 50 ) 이다 그 다음 줄부터 명령어가 들어 온다. 숫자가 들어오면 이진 트리를 구성하는 노드(양수이며 2< n <=1000) 이고 문자가 들어 오면 출력을 한다.(A레벨 B전위 C중위 D후위 E 사선1 F사선2 ) * 을 만난다면 케이스의 입력이 종료된다.
출력 각 케이스는 Case로 구분하고, 해당 명령어가 입력된다면 명령어를 출력하고 결과 출력을 한다. 각 명령어는 개행 문자로 구분한다. |
[ 입출력 예 ]
2 10 9 17 A 11 F 23 B C D 8 66 21 2 33 51 7 28 A B C D E F * 10 9 17 1123 8 66 21 2 33 51 7 28 A B C D E F * |
Case1 A 10 9 17 F 10 17 B 10 9 11 23 17 C 11 9 23 10 17 D 11 23 9 17 10 A 10 9 17 11 23 8 66 21 2 33 51 7 28 B 10 9 11 21 2 23 33 51 17 8 7 28 66 C 21 11 2 9 33 23 51 10 7 8 28 17 66 D 21 2 11 33 51 23 9 7 28 8 66 17 10 E 10 9 11 21 F 10 17 66 Case2 A 10 9 17 11 23 8 66 21 2 33 51 7 28 B 10 9 11 21 2 23 33 51 17 8 7 28 66 C 21 11 2 9 33 23 51 10 7 8 28 17 66 D 21 2 11 33 51 23 9 7 28 8 66 17 10 E 10 9 11 21 F 10 17 66
|
Self-reflection |
배보다 배꼽이 더 컷던 문제...알고리즘은 어렵지 않았지만, 입력 받는게 까다로웠다.
Code |
'Algorithm > 기타' 카테고리의 다른 글
[Programming Challenges]유쾌한 점퍼(Jolly Jumpers) (0) | 2014.04.19 |
---|---|
[Programming Challenges] 월리를 찾아라 - 난이도(하중) (0) | 2014.04.07 |
[Programming Challenges] 3n+1 - 난이도(하) (0) | 2014.04.07 |
점수를 이용한 이름 정렬 - 난이도(하) (0) | 2014.03.30 |
행렬의 곱 - 난이도(하) (0) | 2014.03.30 |