13904. 과제(큐)
from sys import stdin
n = int(stdin.readline())
homeworks = []
answer = 0
todo = [False]*1000
for _ in range(n):
d,w = map(int, stdin.readline().rstrip().split())
homeworks.append((d,w))
# 점수 기준으로 내림차순
homeworks.sort(key=lambda x: x[1], reverse=True)
for day, score in homeworks:
while day > 0 and todo[day] == True:
day -= 1
if day == 0:
continue
else:
todo[day] = True
answer += score
print(answer)
Python
복사
2493. 탑
•
인덱스와 함께 비교하면서 푸는 문제
•
현재값과 이전값의 크기 비교 필요
◦
현재값보다 이전값이 크다면 남기고
◦
현재값보다 이전값이 작다면 제거
Python
복사