본문 바로가기
반응형

알고리즘250

[백준][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.
[백준][Python] 4358번 생태학 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 코드 import sys total = 0 dic = dict() while 1: word = sys.stdin.readline().rstrip() if word == '': break total += 1 if word in dic: # 전에 이미 나왔으면 dic[word] += 1 else: dic[word] = 1 sdic = dict(sorted(dic.items())) for i in sdic: a = sdic[i] per = (a / tota.. 2022. 2. 21.
반응형