티스토리 뷰

반응형

https://www.acmicpc.net/problem/13305

 

13305번: 주유소

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1

www.acmicpc.net

 

 

문제 접근 방법

다음 주유소 기름 가격이 지금 주유소 보다 비싸면 미리 넣는다. -> 더 싼 주유소를 찾을 때까지 반목문을 돌린다.

이 공식만 사용하면 쉽게 문제를 해결 할 수 있다.

 

제출코드

city = int(input())
distance_lst = list(map(int, input().split()))
gas_price_lst = list(map(int, input().split()))

gas_price = max(gas_price_lst) # 현재 주유한 기름 값, 처음에는 리스트에서 가장 비싼 주유 가격으로 시작
cost = 0

for i in range(city-1):
  if gas_price > gas_price_lst[i]: # 예외 조건으로 현재 주유한 기름값보다 싸면 주유 가격을 업데이트
    gas_price = gas_price_lst[i]
  cost += gas_price * distance_lst[i]  # 주유소 가격 * 거리
print(cost)

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함