728x90
반응형
문제
해설
첫 도시에서는 가격에 상관없이 무조건 다음 도시로 이동할 수 있는 양의 기름이 필요하다.
두번째 도시부터는 현재 도시의 주유소 가격이 최소인지를 따지는 것이 필요하다.
그러나 첫 도시부터 가격이 최소인지를 따지게 만들면 코드를 더 간결하게 쓸 수 있다.
minOil이라는 최소 가격을 넣을 변수를 선언할 때,
문제에 제시되어 있는 리터당 가격의 최댓값을 넣어두면 모든 도시에 같은 코드를 적용시킬 수 있다.
그저 최소 기름 가격을 구해,
한 도시의 이동 거리만큼 계속 가격을 더해주면 된다.
코드
-파이썬
#백준 13305(주유소)
import sys
input = sys.stdin.readline
n = int(input()) #도시의 개수
road = list(map(int, input().split())) #도로의 길이
oil = list(map(int, input().split())) #주유소 리터당 가격
cost = 0 #비용
minOil = 1e9 #1000000000
for i in range(n - 1):
minOil = min(minOil, oil[i])
cost += (road[i] * minOil)
print(cost)
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[파이썬] BOJ_13300(방 배정) (1) | 2021.03.04 |
---|---|
[파이썬] BOJ_1449(수리공 항승) (0) | 2021.02.25 |
[파이썬] BOJ_2720(세탁소 사장 동혁) (0) | 2021.02.23 |
[파이썬, 자바] BOJ_1343(폴리오미노) (0) | 2021.02.19 |
[파이썬] BOJ_15903(카드 합체 놀이) (0) | 2021.02.17 |