728x90
문제
https://www.acmicpc.net/problem/13305
문제 접근
전체 주유소 이용 가격을 최소화하기 위해서는 가장 싼 곳에서 가장 많이 구매하여 가장 많이 이동해야한다.
주유소의 기름 가격을 순회하며, 가장 싼 곳의 주유소를 찾고,
해당 주유소의 가격이 가장 싸다면 도시를 이동할 만큼의 기름을 구매한다.
만약, 해당 주유소의 가격이 최소 금액보다 싸지 않다면
최소 금액의 주유소에서 최대한 많이 구매하도록 한다.
# 도시의 개수
N = int(input())
# 인접한 두 도시를 연결하는 도로의 길이를 왼쪽부터 제공
length = list(map(int, input().split()))
# 주요소의 리터당 가격
price = list(map(int, input().split()))
answer = 0
# 최소 금액
minPrice = price[0]
# for문을 순회하며 주유소 가격 순회
for p in range(N-1):
# 저번 주유소보다 지금 주유소의 가격이 싸면, minPrice로 저장
if price[p] <= minPrice:
minPrice = price[p]
# 최소 금액으로 한 도시 이동 가능
# 만약 해당 주유소가 저번보다 비싸다면, 그 전의 minPrice 금액으로 더 이동
answer += (minPrice * length[p])
print(answer)
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[백준][PYTHON] 1157번 단어 공부 (0) | 2024.06.06 |
---|---|
[백준][PYTHON] 2979번 트럭 주차 (0) | 2024.06.05 |
[백준][PYTHON] 1541번 잃어버린 괄호 (0) | 2024.05.30 |
[백준][PYTHON] 11399번 ATM (0) | 2024.05.30 |
[백준][PYTHON] 1931번 회의실 배정 (1) | 2024.05.23 |