새소식

Programming/1 Day 1 Commit

[BaekJoon] 주유소 - 실버3 (Python3)

  • -
 
  • 모든 주유소의 가격이 똑같다면?
  • 처음에는 sort로 접근했는데 그럴 필요없이
  • 마지막 if i == n-2일 때, min이랑 거리를 곱해주면 된다.
  • 아직은 계속 생각해내는게 쉽진 않지만, 조금씩 성장하는 중이다!

n = int(input())
len = list(map(int, input().split()))
costs = list(map(int, input().split()))
total = costs[0] * len[0] # 처음은 무조건 가야하므로.
min = costs[0] # 최솟값은 초기값으로 세팅
dist = 0 # 가야할 거리 계산

for i in range(1, n-1):
    if costs[i] < min: # 비용이 최솟값보다 작을 때
        total += min * dist # 그 전 최솟값과 길이를 곱해줌
        dist = len[i] # i번째 길이로 초기화
        min = costs[i] # 최솟값으로 교체
    else:
        dist += len[i] # 최솟값일때, dist에 거리 더해줌
    if i == n-2:
        total += min * dist # 계속 최솟값일때 거리 곱해주기

print(total)
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.