본문 바로가기
PS/백준

백준 11052: 카드구매하기 python, 파이썬

by 지기_ 2021. 7. 19.
반응형

1. 문제

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

 

11052번: 카드 구매하기

첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000)

www.acmicpc.net

 

 

 

2. 풀이

중요한것은 가장 비싸게 만드는 것이므로  매번 카드를 뽑을 때마다 지금까지 나왔던 모든 카드들 중에서 (자기자신 포함) 가장 비쌌던 카드를 고른다.

 

 

 

3. 구현

import sys
# sys.stdin=open('input.txt')

N=int(sys.stdin.readline())
tmp=sys.stdin.readline().split(' ')
lis = [0]*(N+5)
for idx, elem in enumerate(tmp):
    lis[idx+1] = int(elem)

mm=[0]*(N+5)
for i in range(1,N+2):
    tmp=[]
    for j in range(0, i+1):
        tmp.append(lis[i-j]+mm[j])
    mm[i]=max(tmp)
print(mm[N])

 

 

 

반응형

댓글