본문 바로가기
Study

백준14501: 퇴사 (Python)

by 고체물리학 2021. 12. 2.

https://www.acmicpc.net/problem/14501

 

14501번: 퇴사

첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.

www.acmicpc.net

 

백준이의 최대 수익을 내기 위한 코드

 

day = int(input())
Ti = []
Pi = []
salary = [0 for i in range(day+1)]
sum = 0

for i in range (0,day):
    T,P = map(int,input().split())
    Ti.append(T)
    Pi.append(P)

for i in range(0,day):
    sum = max(sum,salary[i])
    if i+Ti[i]>day:
        continue
    salary[i+Ti[i]] = max(sum+Pi[i],salary[i+Ti[i]])
print(max(salary))

- list 생성할때 for문말고 [0]*배열개수 이렇게 해도 선언 됨

- DP문제이고 퇴사일이 넘지 않도록 뒤에서 계산하는 방식도 있는데 그 부분은 조금 더 생각하고 짜봐야겠다

반응형

댓글