[ BOJ / Python ] 7983번 내일 할거야

황승환·2022년 7월 25일
0

Python

목록 보기
391/498


이번 문제는 전형적인 그리디 문제 중 하나로, 과제의 마감일을 기준으로 내림차순 정렬한 후에, 이를 순회하며 현재 날짜를 감소시키는 방식으로 해결하였다. 날짜를 감소시킬 때, 만약 현재 날짜보다 과제의 마감일이 더 작을 경우에는 현재 날짜를 과제의 마감일로 갱신하도록 하였고, 매 반복마다 과제의 걸리는 시간을 현재 날짜에서 빼주도록 하였다. 이 과정이 끝나고 난 후의 현재 날짜가 쉴 수 있는 날의 수가 된다.

Code

n = int(input())
tasks = sorted([list(map(int, input().split())) for _ in range(n)], key=lambda x: x[1], reverse=True)
cur = tasks[0][1]
for task in tasks:
    if cur > task[1]:
        cur = task[1]
    cur -= task[0]
print(cur)

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글