[ BOJ 13305 ] 주유소(Python)

uoayop·2021년 6월 7일
0

알고리즘 문제

목록 보기
93/103
post-thumbnail

문제

https://www.acmicpc.net/problem/13305

가장 오른쪽 도시로 이동할 때, 가장 적은 주유 비용으로 이동하는 문제다.

뭔가 , ,,이제 설설 골드 문제도 풀 수 있을 것 같은 자신감이 생긴다.


문제 풀이

0. 입력 받기

length = list(map(int,input().rsplit()))
price = list(map(int,input().rsplit()))

다음 도시까지 거리를 저장한 length 배열,
해당 도시의 주유 비용을 저장한 price 배열

1. 현재 위치에서 가장 작은 주유 비용 저장

min_price = price[0]

2. 이동하면서, 더 적은 작은 비용이 있나 체크하기

for i in range(n-1):
    min_price = min(min_price, price[i])
    answer += (length[i] * min_price)

다음 도시까지 거리 length[i] 와 가장 작은 주유 비용 min_price을 곱하면
다음 도시까지 최소 비용으로 이동 가능하다.


코드

import sys
input = sys.stdin.readline

n = int(input())
length = list(map(int,input().rsplit()))
price = list(map(int,input().rsplit()))

answer = 0
min_price = price[0]
for i in range(n-1):
    min_price = min(min_price, price[i])
    answer += (length[i] * min_price)

print(answer)
    
profile
slow and steady wins the race 🐢

0개의 댓글