[백준 13305번] 주유소 (Python) / S3

Izodam·2024년 1월 21일

백준 문제풀이

목록 보기
1/10

문제

13305. 주유소

코드

# 13305번
n = int(input())
km = list(map(int,input().split()))
cost = list(map(int,input().split()))

res = 0
min_oil = cost[0]
for i in range(n-1):
    if cost[i] < min_oil:
        min_oil = cost[i]
    res += min_oil * km[i]
print(res)

접근 방법

최소의 비용을 계산해야하므로, 기름값이 제일 싼 도시에서 가장 많이 주유를 하면 된다!
첫번째 도시에서는 무조건 두번째 도시까지 거리만큼은 주유를 해야한다.
두번째 도시에서 세번째 도시까지도 마찬가지
-> 도시에서 도시까지의 거리에서 그 전에 있었던 도시 중 기름값이 가장 싼 곳의 기름값과 곱해서 다 더하면 최소의 비용이 나온다!!!

코드 작성 방법

min_oil에 첫번째 도시의 기름값 저장
for문을 돌면서 각 도시를 방문하면서
만약 방문한 도시의 기름값이 min_oil보다 싸면 min_oil 업데이트

profile
dog foot (Developer)

0개의 댓글