목록코딩테스트 (45)
JH 개발 블로그
https://www.acmicpc.net/problem/2263 2263번: 트리의 순회 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 코드 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) n = int(input()) inorder = list(map(int,input().split())) postorder = list(map(int,input().split())) position = [0]*(n+1) for i in range(n): position[inorder[i]] = i de..
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 코드 import sys input = sys.stdin.readline N = int(input()) tree = {} for _ in range(N): root, left, right = input().split() tree[root] = [left,right] def preorder(root): if root != '.': print(root,end='') preorder(tree..
https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 코드 n = int(input()) def hanoi(n,start,end): if n == 1: print(start,end) # 원판이 하나만 남았다면 목표기둥으로 옮긴다 return hanoi(n-1,start,6-start-end) # 가장 큰 원판 위에 있는 n-1개의 원판을 보조기둥으로 옮긴다 print(start,end) # 가장 큰 원판을 목표기둥으로 옮긴다 hanoi(..
https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 코드 import sys input = sys.stdin.readline def cut_paper(r,c,n): num = paper[r][c] for i in range(r,r+n): for j in range(c,c+n): if paper[i][j] != num: for k in range(3): for l in range(3): cut_paper(r+k*(n//3),c+l*(n//..
까먹지 않기 위해 복습한다고 생각하고 포스팅 해야겠다.