[백준] 13305번 : 주유소 (Python)
2023. 3. 15. 01:12ㆍ알고리즘/그리디
https://www.acmicpc.net/problem/13305
13305번: 주유소
표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1
www.acmicpc.net
💡 문제 접근
- 가장 싼 주유소를 찾아야 함
- 이외에는 당장 가야 할 거리만큼만 계산함
- => 아이디어 오류, 가장 싼 주유소가 아니라도 현재가 미래의 주유소들보다 싸다면 미리 구매해야 함
💡 해결
- 이동하면서 최저 주유소 값을 갱신 해줌
💡 내 코드
n = int(input())
d = list(map(int, input().split()))
m = list(map(int, input().split()))
money_sum = d[0] * m[0] # 첫번째 주유소에서는 다음 거리 만큼 주유
min_m= m[0] # 가장 싼 주유소를 처음 주유소로 지정
for i in range(1,n-1):
if min_m > m[i]: #더 싼 주유소 찾으면
min_m= m[i]# 가장 싼 주유소로 갱신
money_sum += min_m* d[i]
else:
money_sum += min_m* d[i]
print(money_sum)
'알고리즘 > 그리디' 카테고리의 다른 글
[백준] 11508번 : 2+1 세일 (Python) (0) | 2023.03.15 |
---|---|
[백준] 1758번 : 알바생 강호 (Python) (1) | 2023.03.15 |
[백준] 2217번 : 로프 (Python) (0) | 2023.03.13 |
[백준] 11399번 : ATM (Python) (0) | 2023.03.13 |
[백준] 11047번 : 동전 0 (Python) (0) | 2023.03.12 |