Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

해야만 한다

[Python] 백준 13305. 주유소 본문

Python/Algorithm

[Python] 백준 13305. 주유소

쥬링999 2023. 11. 1. 11:50

 

문제 링크

 

 

풀이

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