[백준] 13305번 : 주유소 (파이썬)

뚝딱이 공학도·2022년 2월 14일
0

문제풀이_백준

목록 보기
59/160


서브태스크 문제는 처음이다.
채점 기준이 존재한다.

문제



나의 답안

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만큼의 기름을 구매한다. 이를 비용에 더해주면 된다.
  1. minPrice에는 임의의 가격 값을 지정한다. total은 비용을 저장할 변수이다.
  2. 반복문으로 최소값을 구해준다.
    가격은 도시 수(n)만큼 존재하고, 최종 목적지에서는 기름을 더이상 충전하지 않아도 되므로 총 n-1번 반복해주면 된다.
  3. if문으로 기름의 최저가를 구해주면 되고, 가격 배열을 전부 돌아 최저가를 찾게된다면 if문을 종료한다.
  4. if문을 종료하고 나서, total+=(minPrice*km[i])로 총 가격을 구한다.

0개의 댓글