SWEA-1952. [모의 SW 역량테스트] 수영장
Coding Test

SWEA-1952. [모의 SW 역량테스트] 수영장

일시불

문제

  • SWEA-1952. [모의 SW 역량테스트] 수영장

풀이

인덱스가 2인 경우 idx-3이 음수가 되므로 memo를 하나 늘려주었다.
또는 for 인덱스를 1부터 시작하게 하고 조건문 if idx>2로 바꾸어 주어도 된다.

def find_price(plans):
    memo = [0]*(len(plans)+1)
    for idx, val in enumerate(plans):
        memo[idx] = memo[idx-1] + min(prices[1], prices[0]*val)
        if idx > 1:
            memo[idx] = min(memo[idx], memo[idx-3] +prices[2])

    return memo[-2]

T = int(input())
for test_case in range(1, T + 1):
    prices = list(map(int, input().split()))
    plans = list(map(int, input().split()))

    answer = min(prices[3], find_price(plans))

    print('#%d %d' % (test_case, answer))