본문 바로가기

CS/알고리즘

백준 14501번 파이썬 _다이나믹 프로그래밍과 입력받기

삼성 기출문제는 어떤 느낌인가 궁금해서 도전해봤다

30분 고민하고 구글링을 반복하며 공부중이다

 

몇줄 연속 입력받기는 이렇게 하는거구나

 

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

<코드>

 

N= int(input())

t_list=[]

p_list=[]

answer=[0]* (n+1)

 

for i in range(n):

    t,p= map(int,input().split())

    t_list.append(t)

    p_list.append(p)

for i in range(n-1, -1, -1):

    if t_list[i] + i >N: #상담날짜가 퇴사일 이후로 넘어가면

           answer[i]=answer[i+1] #고려하지 않는다. 

    else: 

           answer[i]= max(p_list[i]+answer[i + t_list[i]], answer[i+1])

 


배운점 & 공부계획

1. 타인의 풀이를 참고하면서 아이디어를 배웠다.

2. DP 풀이를 처음 접해봤다. 자료구조 시간에 동적 프로그래밍을 배웠지만 실전 문제 풀이는 오랜만이다.

DP풀이 연습하자.

3. 삼성 기출을 하나하나 푸는것보다는 백준에서 카테고리별로 문제를 풀어야겠다.

 

 


 

https://abcdefgh123123.tistory.com/364  

 

파이썬 백준 14501번 퇴사 풀이( 여러가지 방법으로 풀기)

문제 상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다. 오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다. 백준이는 비서에게 최대한 많은 상담

abcdefgh123123.tistory.com

잘 정리해주신 분 것 기록용으로 남겨놓는다.