본문 바로가기
알고리즘/[python] 백준 BOJ

[python] 백준 1781 컵라면

by Alan_Kim 2023. 4. 5.
728x90
반응형

https://www.acmicpc.net/problem/1781

 

1781번: 컵라면

상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라

www.acmicpc.net

 

문제 해결

  • 데드라인을 생각하면서 컵라면 수가 큰 것을 스택 안에 넣는 문제
  • 스택 안의 원소의 개수를 데드라인이라고 생각하면 된다.
  • 그러면 스택 안에 원소를 데드라인이 빠른 것부터 처리를 하며 만약 컵라면은 많이가져갈 수 있는데 데드라인이 걸리면 그 전에 작은 컵라면수를 빼고 넣으면 된다.

CODE

import heapq
n = int(input())
table = []

for _ in range(n):
    d, c = map(int, input().split())
    table.append((d,c))
table.sort()

stack = []

for i in table:
    heapq.heappush(stack,i[1])
    if i[0] < len(stack):
        heapq.heappop(stack)
print(sum(stack))
728x90
반응형

댓글