반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- codeup 1020 자바
- 빅데이터분석기사
- 나누어 떨어지는 숫자 배열 python
- 청년 AI Big Data 아카데미 13기
- 가운데 글자 가져오기 python
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 코드업 1020 자바
- codeup 1020 java
- 가운데 글자 가져오기 파이썬
- 최단 경로 알고리즘
- 프로그래머스 가운데 글자 가져오기 python
- m1 docker
- docker 삭제
- docker remove
- 나누어 떨어지는 숫자 배열 java
- 최소 스패닝 트리
- 프로그래머스 가운데 글자 가져오기 자바
- 트리의 지름 자바
- 빅분기실기
- docker 완전 삭제
- 핸즈온 머신러닝
- 코드업 1020 java
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 가운데 글자 가져오기 자바
- 트리의 지름 java
- 가운데 글자 가져오기 java
- 청년 Ai Big Data 아카데미
- 프로그래머스 가운데 글자 가져오기 파이썬
- 최소 스패닝 트리 자바
- m1 docker install
Archives
- Today
- Total
NineTwo meet you
[백준/자바] 1991 트리 순회 본문
반응형
문제
이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오.
예를 들어 위와 같은 이진 트리가 입력되면,
- 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식)
- 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식)
- 후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트)
가 된다.
입력
첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다.
둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다.
노드의 이름은 A부터 차례대로 영문자 대문자로 매겨지며, 항상 A가 루트 노드가 된다.
자식 노드가 없는 경우에는 .으로 표현된다.
출력
첫째 줄에 전위 순회, 둘째 줄에 중위 순회, 셋째 줄에 후위 순회한 결과를 출력한다.
각 줄에 N개의 알파벳을 공백 없이 출력하면 된다.
예제 입력 1
7
A B C
B D .
C E F
E . .
F . G
D . .
G . .
예제 출력 1
ABDCEFG
DBAECFG
DBEGFCA
설명
트리의 순회한 결과를 구하는 문제다.
- 전위 순회한 결과 : (루트) (왼쪽 자식) (오른쪽 자식)
- 중위 순회한 결과 : (왼쪽 자식) (루트) (오른쪽 자식)
- 후위 순회한 결과 : (왼쪽 자식) (오른쪽 자식) (루트)
각 순회는 다음과 같은 순서로 순회를 하는 것을 알 수 있다.
코드
반응형
'프로그래밍 문제 > 백준' 카테고리의 다른 글
[백준/자바] 1806 부분합 (0) | 2021.02.16 |
---|---|
[백준/자바] 11725 트리의 부모 찾기 (0) | 2021.02.09 |
[백준/자바] 5052 전화번호 목록 (0) | 2021.02.09 |
[백준/자바] 10986 나머지 합 (0) | 2021.01.27 |
[백준/자바] 11659 구간 합 구하기 4 (0) | 2021.01.27 |
Comments