백준 13904번 과제

DARTZ·2022년 5월 11일
0

알고리즘

목록 보기
51/135
import sys

input = sys.stdin.readline

N = int(input())

work = []

for _ in range(N):
    work.append(list(map(int, input().split())))

work.sort(key=lambda x: -x[1]) # 점수 내림 차순으로 정렬
days = [0] * 1000 # 어떤 날짜에 과제를 했는지 체크하는 리스트 생성

for i in range(N):
    for j in range(work[i][0]-1, -1, -1):
        if days[j] == 0: # 만약에 그 날짜에 할 과제가 없다면
            days[j] = work[i][1] # 그 날짜에 해당 과제의 점수를 넣어준다.
            break # 계속 진행하면 안되므로 break

print(sum(days)) #총합이 정답
profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글