본문 바로가기
알고리즘/BOJ

[BOJ / 백준] 13904 과제 python / 파이썬

by seohmoon 2023. 6. 14.

출처 : https://www.acmicpc.net/problem/13904

 

13904번: 과제

예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다.

www.acmicpc.net


1) 요구사항 분석 : 문제 읽기

얻을 수 있는 점수의 최댓값을 출력한다.

 

2) 설계 : 접근 방식

과제 마감일까지 남은 일수에 대해 배열에 담아줌

그리고 해당 날짜부터 배열의 시작까지 역순으로 최댓값을 정답에 더해주고

다른 날짜에서 제거해줌

 

 

import sys
input = sys.stdin.readline

n = int(input())
dates = [[0] for _ in range(1001)]
ans = 0

for _ in range(n):
    d, w = map(int, input().split())
    for i in range(d):
        dates[i].append(w)

tem = 0

for i in range(n - 1, -1, -1):
    tem = max(dates[i])
    ans += tem
    if tem != 0:
        for j in range(i):
            dates[j].remove(tem)

print(ans)

댓글