반응형 전체 글252 [백준][Python] 1991번 트리 순회 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 코드 import sys n = int(input()) tree = {} for _ in range(n): a,b,c = sys.stdin.readline().split() tree[a] = [b,c] def pre(root): if root != '.': print(root,end='') pre(tree[root][0]) pre(tree[root][1]) def inorder(root): if root != '.': inorder(tree[root].. 2022. 2. 25. [백준][Python] 11725번 트리의 부모 찾기 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 import sys sys.setrecursionlimit(10**9) n = int(input()) tree = [[] for _ in range(n+1)] parent = [0 for _ in range(n+1)] for i in range(n-1): a,b = map(int,sys.stdin.readline().split()) tree[a].append(b) tree[b].append(a) def DFS(start,tree,parent): for i in tree[start]: if parent[i] == 0: pa.. 2022. 2. 25. [백준][Python] 9375번 패션왕 신해빈 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 코드 import sys n = int(input()) for _ in range(n): dic = dict() m = int(input()) for _ in range(m): name = sys.stdin.readline().split() if name[1] in dic: dic[name[1]] += 1 else: dic[name[1]] = 1 ans = 1 for v.. 2022. 2. 24. [백준][Python] 1302번 베스트셀러 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 코드 import sys book = dict() n = int(input()) for _ in range(n): name = sys.stdin.readline().rstrip() if name in book: book[name] += 1 else: book[name] = 1 max = 0 sbook = dict(sorted(book.items())) for i in sbook: if (sbook[i]) > max: max = sbook[i] maxi =.. 2022. 2. 24. [백준][Python] 10546번 배부른 마라토너 10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명 www.acmicpc.net 코드 import sys start = dict() finish = dict() n = int(input()) for _ in range(n): name = sys.stdin.readline().rstrip() if name in start: start[name] += 1 else: start[name] = 1 for _ in range(n-1): name = sys.stdin.readline().rstrip() if name in finish: fini.. 2022. 2. 23. [백준][Python] 2776번 암기왕 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 코드 import sys T = int(input()) for _ in range(T): N = int(input()) num1 = set(sys.stdin.readline().split()) M = int(input()) num2 = list(sys.stdin.readline().split()) for i in num2: if i in num1: print(1) else: print(0) 설명 수첩1의 숫자는 중복된 값은 필요없기 때문에 set으로 받아준다. lis.. 2022. 2. 23. [백준][Python] 2075번 N번째 큰 수 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 코드 import sys import heapq hq = [] N = int(input()) for _ in range(N): num = list(map(int,sys.stdin.readline().split())) if hq: for i in num: min = hq[0] if i > min: heapq.heappop(hq) heapq.heappush(hq,i) else: for i in num: heapq.heappush(hq,i) print(hq[0]) 설명 한 .. 2022. 2. 22. [백준][Python] 7662번 이중 우선순위 큐 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 코드 import sys import heapq T = int(input()) for _ in range(T): k = int(input()) maxhq = [] minhq = [] done = [0]*k # 삭제된건지 확인 for i in range(k): a, b = sys.stdin.readline().split() if a == 'I': heapq.heappush(maxhq,((-1)*int(b),i)) heapq.heappush(minhq,(int(.. 2022. 2. 22. [백준][Python] 1927번 최소 힙 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 코드 import heapq import sys heap = [] n = int(input()) for _ in range(n): num = int(sys.stdin.readline()) if num == 0: if heap: print(heapq.heappop(heap)) else: print(0) else: heapq.heappush(heap,num) 2022. 2. 21. 이전 1 ··· 22 23 24 25 26 27 28 다음 반응형