728x90
반응형
문제
https://www.acmicpc.net/problem/13305
13305번: 주유소
표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1
www.acmicpc.net
문제 접근
그리디 문제이지만 정렬하여 최솟값 부터 접근하는 문제는 아니다.
반복문을 돌면서 거리의 리스트인 distances는 하나하나 모두 방문하고,
리터당 가격의 리스트인 costs는 이전의 지역보다 작은 경우에만 바꿔주고 다른 경우에는 그냥 진행하면 된다고 생각하여 풀었다.
코드
n = int(input())
distances = list(map(int,input().split()))
costs = list(map(int,input().split()))
total = 0
j=0
for i in range(0,len(distances)):
total += costs[j] * distances[i]
if costs[j] > costs[i+1]:
j = i+1
print(total)
배운점
i, j 부분에서 조금 실수해서 17점이 나오던데 모든 경우에 대해 print(total)를 해서 어느 부분에서 틀렸는지 잘 찾아서 해결했다.
나는 문제 겨우 풀고 다른 코드들 봤는데 당연하다는 듯이 쉽게 풀던데... 아직 멀었다... 공부 더 하자!!!
728x90
반응형
'코딩테스트' 카테고리의 다른 글
| [알고리즘] DFS 개념 정리 (+ 백준 1260) (0) | 2025.11.17 |
|---|---|
| [알고리즘] 백준 1789번 수들의 합 (파이썬) (0) | 2023.01.10 |
| [알고리즘] 백준 10162번 전자레인지 파이썬 (0) | 2023.01.09 |
| [알고리즘] 백준 5585번 거스름돈 파이썬 (0) | 2023.01.09 |
| [알고리즘] 백준 1026번 보물 (0) | 2023.01.09 |