728x90
https://www.acmicpc.net/problem/14235
import sys, heapq
n = int(sys.stdin.readline())
heap = []
for _ in range(n):
gift = list(map(int, sys.stdin.readline().split())) #1
if gift[0] == 0: #2
if heap: #3
print(abs(heapq.heappop(heap)))
elif not heap: #4
print(-1)
else: #5
for i in range(gift[0]):
heapq.heappush(heap, -gift[i+1])
#1 : 선물 목록을 입력받음
#2 : 선물목록의 첫번쨰 요소가 0이면
#3 : heap이 비어있지 않으면 heap[0]의 절댓값 출력
#4 : heap이 비어있으면 -1 출력
#5 : 첫번쨰 요소가 0이 아니면 첫번쨰 요소만큼 반복해서 그 다음 요소들을 음수로 삽입
스택에서 첫번째 요소로 판단하는 문제가 있었다. https://hgk5722.tistory.com/270
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 5619 파이썬(python) : 세 번째 - 메모리 줄이는 법 (0) | 2022.07.26 |
---|---|
[백준] 17503 파이썬(python) : 맥주 축제 (0) | 2022.07.26 |
[백준] 19638 파이썬(python) : 센티와 마법의 뿅망치 - 최대 힙 활용문제 (0) | 2022.07.25 |
[백준] 15903 파이썬(python) : 카드 합체 놀이 (0) | 2022.07.25 |
[백준] 2075 파이썬(python) : N번째 큰 수 - heapq (0) | 2022.07.25 |