Greedy_주유소(13305)

Eugenius1st·2022년 10월 7일
0

Algorithm_Baekjoon

목록 보기
143/158
post-thumbnail

Greedy_주유소(13305)

문제



풀이

  • 0번째 길은 반드시 0번째 기름 가격으로 계산하기 때문에 처음에 최소 가격 값(min_price)을 갱신해준다.
  • 또한 0번째 기름 가격을 min_cost에 저장한다
  • for문을 돌려서 기름 가격을 비교한다. 이미 저장된 기름 값이 최솟 값이라면 현재 기름 값으로 결제한다.
  • 만약 현재 기름 값이 최소 값이면 mon_cost 값을 갱신하고 min_cost 값으로 결제한다.
  • 결제한 값들을 누적한 min_price를 출력한다

코드

import sys

N = int(input())
roads = list(map(int,input().split()))
gs_caltex = list(map(int,input().split()))


def answer(N,roads,gs_caltex):
    # 첫번째 값 더하기
    min_price = roads[0] * gs_caltex[0]
    # 가장 값이 싼 주유소 지정
    min_cost = gs_caltex[0]
    for i in range(1, N-1):
        if min_cost > gs_caltex[i]: # 가장 값이 싼 주유소가 현재 주유소 보다 비싸면 바꿔준다.
            min_cost = gs_caltex[i] # 값 싼 주유소로 바꿔주기
        min_price += min_cost * roads[i]

    print(min_price)


answer(N,roads,gs_caltex)
profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글