서브태스크 문제는 처음이다.
채점 기준이 존재한다.
문제
나의 답안
n=int(input())
km=list(map(int,input().split()))
price=list(map(int,input().split()))
minPrice=price[0]
total=0
for i in range(n-1):
if minPrice>price[i]:
minPrice=price[i]
total+=(minPrice*km[i])
print(total)
접근 방법
- 가격을 최소화하기 위해, 가장 싼 곳에서 가장 많이 구매해야한다. 따라서 가격의 최솟값을 찾아야 한다.
- 가장 싼 곳에서 가야할 km만큼의 기름을 구매한다. 이를 비용에 더해주면 된다.
- minPrice에는 임의의 가격 값을 지정한다. total은 비용을 저장할 변수이다.
- 반복문으로 최소값을 구해준다.
가격은 도시 수(n)만큼 존재하고, 최종 목적지에서는 기름을 더이상 충전하지 않아도 되므로 총 n-1번 반복해주면 된다.
- if문으로 기름의 최저가를 구해주면 되고, 가격 배열을 전부 돌아 최저가를 찾게된다면 if문을 종료한다.
- if문을 종료하고 나서, total+=(minPrice*km[i])로 총 가격을 구한다.