[BOJ] 13305 - 주유소 (🥈 실버 4티어)
사용 언어: Python3
문제
풀이
나의 풀이
from collections import deque
N = int(input())
dist = list(map(int, input().split()))
price = list(map(int, input().split()))
q = deque()
for i in range(N-1):
q.append((price[i], dist[i]))
ans = 0
min_oil_price = 1000000001 # ✅ 현재까지 방문한 도시들 중 가장 저렴한 기름 가격
while q:
cp, cd = q.popleft() # cp: current price / cd: current dist
if min_oil_price > cp:
ans += cd * cp
min_oil_price = cp # ✅ 저렴한 가격 갱신
else:
ans += cd * min_oil_price
print(ans)
- 테스트 케이스: 성공
- 제출 결과: 성공
다른 풀이
N = int(input())
dist = list(map(int, input().split()))
price = list(map(int, input().split()))
ans = 0
mn = 1e9 # ✅ 현재까지 방문한 도시들 중 가장 저렴한 기름 가격
for i in range(len(dist)):
mn = min(mn, price[i])
ans += dist[i] * mn
print(ans)
- 테스트 케이스: 성공
- 제출 결과: 성공
💛 개인 공부 기록용 블로그입니다. 👻