[백준] 13904번 과제 ★★

거북이·2023년 9월 8일
0

백준[골드3]

목록 보기
21/21
post-thumbnail

💡문제접근

  • 점수를 기준으로 내림차순하면서 마감일이 같은 여러 과제에 대해서 가장 높은 점수를 받을 수 있는 과제를 선택해 과제를 수행하면 된다. 뒤에서부터 확인하는 방법을 이용했다.

💡코드(메모리 : 31256KB, 시간 : 44ms)

import sys
input = sys.stdin.readline

visited = [0] * 1001
N = int(input())
homework = []
for _ in range(N):
    d, w = map(int, input().strip().split())
    homework.append([d, w])

# 점수 기준 내림차순 정렬
homework.sort(key = lambda x : -x[1])
for i in range(N):
    for j in range(homework[i][0]-1, -1, -1):
        if visited[j] == 0:
            visited[j] = homework[i][1]
            break
print(sum(visited))

💡소요시간 : 1h 47m

0개의 댓글