백준(32)
-
백준 트리 순회 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자 www.acmicpc.net 트리 구조를 TreeNode라는 클래스로, 리스트를 입력으로 받아 트리 구조로 만들어주는 함수 makeTree를 정의했습니다. 우선 입력을 받아와 노드의 개수 N을 제외하고 3개씩 묶어 nodes라는 리스트에 저장합니다. 이후 makeTree 함수를 이용해 트리 구조로 바꿔줍니다. 트리 구조로 바꿔준 input을 순서대로 전위순회 preorder, 중위순회 inorder, 후위순회 posto..
2021.06.08 -
백준 회전하는 큐 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net RotatingQueue라는 클래스를 정의하여 문제에 주어진 연산1,2,3을 구현했습니다. 뽑아야 하는 숫자들의 리스트를 targets로 정의하고, 이 숫자들을 하나씩 뽑으면서 현재 큐의 첫 번째 원소면 count 증가 없이 바로 연산1 수행, 앞쪽에 있으면 첫 번째 원소가 될 때까지 연산2를 수행하고, 수행한 횟수만큼 count 증가, 뒷쪽에 있으면 첫 번째 원소가 될 때까지 연산3을 수행하..
2021.06.08