반응형
반응형
문제 주소 백준 17725번 트리의 부모 찾기 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 알고리즘 트리 힌트 주어진 입력대로 노드들을 양방향으로 연결하고 1을 루트로 트리를 재구성한다. 문제풀이 1에서 출발하여 BFS로 각 노드의 부모를 찾는다. n = int(input()) tree = [[] for i in range(n+1)] for i in range(n-1): a,b=list(map(int,input().split())) tree[a].append(b) tree[b].append(a) q = [1] ans= {} check = [False for i in ra..
문제 주소 백준 1991번 트리 순회 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자 www.acmicpc.net 알고리즘 트리 힌트 전위 순회(preorder) 노드를 방문한다. 왼쪽 서브 트리를 전위 순회한다. 오른쪽 서브 트리를 전위 순회한다. 중위 순회(Inorder) 왼쪽 서브 트리를 중위 순회한다. 노드를 방문한다. 오른쪽 서브 트리를 중위 순회한다. 후위 순회(postorder) 왼쪽 서브 트리를 후위 순회한다. 오른쪽 서브 트리를 후위 순회한다. 노드를 방문한다. 문제풀이 파이썬의 딕셔너리를 이용하여 트리를 구현할 수..
문제 출처 한국정보올림피아드 지역본선 2015 중등부 2번 한국정보올림피아드 지역본선 2015 초등부 3번 문제 주소 백준 10799번 쇠막대기 코드업 4833 : 쇠막대기 알고리즘 스택 힌트 레이저가 있는 위치에 막대기가 몇 개 있는지 알면 계산할 수 있다. 문제풀이 class ArrayStack: def __init__(self): self.data = [] def size(self): return len(self.data) def isEmpty(self): return self.size() == 0 def push(self, item): self.data.append(item) def pop(self): if self.isEmpty() is not True: return self.data.pop()..
문제 출처 Northwestern European Regional Contest NWERC 2006 F번 문제 주소 백준 1966번 프린터 큐 1966번: 프린터 큐 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료�� www.acmicpc.net 알고리즘 큐 문제풀이 큐 구현부 class ArrayQueue: def __init__(self): self.data = [] def size(self): return len(self.data) def isEmpty(self): return self.size()==0 def enqueue(self, item): self...