백준 13305 주유소(with Python)

4498 단어 백준백준

DP 비스무리한 문제라고 느껴진다. (난이도 낮음)

내가 생각한 Solution

문제에서 생각해볼 점

  • 위 그림처럼 이전 도시의 기름 가격보다 싸다면 그대로 주유합니다.

  • 만일 이전 도시의 기름 가격보다 비싸다면 이전도시의 가격으로 현재 도시의 기름 가격을 재책정합니다. (코드에서도 확인해 보세요.)

  • 위 그림 테스트 케이스

7
3 7 2 1 5 6
5 2 2 3 1 4 8

코드 구현

import sys

N = int(input())
# length
ls = list(map(int, sys.stdin.readline().split()))
# oil price
op = list(map(int, sys.stdin.readline().split()))
# cost
c = [0] * N

for i in range(1, N):
    # 이때까지 '비용' + 이전도시에서 이번도시로 오는 '비용'
    c[i] = c[i-1] + op[i-1] * ls[i-1]

    if op[i-1] < op[i]:
        op[i] = op[i-1]

print(c[-1])

좋은 웹페이지 즐겨찾기