1. 문제 링크
2. 문제 및 입출력예제
3. 문제 풀이
- 일직선 상에 있는 도시를 가는데 최소 주유 비용을 찾는 문제이다.
- 처음에는 해당 숫자가 몇번까지 숫자중에 제일 큰 가격인지 확인하려 했지만.. 숫자가 너무 커서 패스
- 도시를 지나가면서 제일 작은 가격이 나오면 저장하고 거리 길이만큼 곱해서 갔다.
여기서 마지막 도시는 주유하지 않으니까 리터 당 가격을 저장하지 않았다.
4. 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
long[] distance = new long[N-1];
long[] price = new long[N-1];
String[] split = br.readLine().split(" ");
for(int i=0;i<N-1;i++) {
distance[i] = Integer.parseInt(split[i]);
}
split = br.readLine().split(" ");
for(int i=0;i<N-1;i++) {
price[i] = Integer.parseInt(split[i]);
}
long cost = 0;
long min = price[0];
for(int i=0;i<N-1;i++) {
min = Math.min(min, price[i]);
cost += min * distance[i];
}
System.out.println(cost);
}
}
'ALGORITHM' 카테고리의 다른 글
백준 9205 맥주 마시면서 걸어가기 (Java) (0) | 2023.04.06 |
---|---|
백준 1402 아무래도이문제는A번난이도인것같다 (Java) (0) | 2023.04.05 |
백준 10250 ACM 호텔 (Java) (0) | 2023.04.03 |
백준 1021 회전하는 큐 (Java) (0) | 2023.04.02 |
백준 2252 줄 세우기 (Java) (0) | 2023.04.01 |