반응형
코드
n = int(input())
n_list = []
for _ in range(n):
day,score = map(int,input().split())
n_list.append((day,score))
n_list.sort()
hw = []
n = n_list[-1][0]
ans = 0
for i in range(n,0,-1):
while n_list and n_list[-1][0] == i:
hw.append(n_list.pop()[1])
hw.sort()
if hw:
ans += hw.pop()
print(ans)
설명
과제 마감일까지 남은 일수가 가장 큰 것부터 차례대로 그 날 할 수 있는 과제들을 뽑아서 점수가 가장 높은 것을 해결하게 했다.
반응형
'알고리즘 > 자료구조' 카테고리의 다른 글
[백준][Python] 11866번 요세푸스 문제 0 (0) | 2023.01.31 |
---|---|
[프로그래머스][Python] 두 큐 합 같게 만들기 (1) | 2023.01.30 |
[백준][Python] 10816번 숫자 카드 2 (0) | 2023.01.25 |
[백준][Python] 15903번 카드 합체 놀이 (1) | 2023.01.19 |
[백준][Python] 1920번 수 찾기 (0) | 2023.01.18 |
댓글