해야만 한다
[Python] 백준 13305. 주유소 본문
풀이
i와 j로 순회하여 오일 가격을 비교하면서 더 싼 곳이 나오면 그 직전까지 오일을 다 산다
즉 최저가가 갱신될 때마다 그 직전까지 다 구매하는 방식
코드
import sys
input = sys.stdin.readline
n = int(input())
road_length = list(map(int, input().split()))
oil_price = list(map(int, input().split()))
i = 0
j = 1
res = 0
while 1:
# 더 비싸거나 같은 가격이면
if oil_price[i] <= oil_price[j]:
# 한칸 전진
j += 1
# 마지막에 도달했으면 그냥 i가격으로 몽땅 사고 끝낸다
if j == len(oil_price) - 1:
res += sum(road_length[i:j])*oil_price[i]
break
# 최저가 갱신
else:
# 최저가 주유소의 직전까지 현재가로 다 산다
res += sum(road_length[i:j])*oil_price[i]
i = j
print(res)
'Python > Algorithm' 카테고리의 다른 글
[Python] 백준 19941. 햄버거 분배 (0) | 2023.11.01 |
---|---|
[Python] 백준 11726. 2xn 타일링 (0) | 2023.11.01 |
[Python] 백준 2885. 초콜릿 식사 (0) | 2023.10.27 |
[Python] 백준 2573. 빙산 (0) | 2023.10.26 |
[Python] 백준 16236. 아기 상어 (0) | 2023.10.25 |