반응형

 

📖 문제

 

📋 코드

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int L[] = new int[N];
		int price[] = new int[N];
		long min = 1000000000;
		long ans = 0;

		for (int i = 0; i < N - 1; i++) {
			L[i] = sc.nextInt();
		}
		for (int i = 0; i < N; i++) {
			price[i] = sc.nextInt();
		}
		
		for (int i = 0; i < N-1; i++) {
			min = Math.min(min, price[i]);
			ans += min*L[i];
		}
		
		System.out.println(ans);
	}
}

👨🏻‍💻 결과

 

 

📕 풀이 방법

min은 현재까지 지나온 주유소들 중 가장 싼 곳의 가격이고

루프를 돌면서 min과 다음 주유소까지 가야 할 거리를 곱해주면서 답을 구합니다.

계산 시 int형 범위를 넘어설 수 있으니 min과 ans는 long으로 지정해줍니다!

 

 

 

🔗 링크

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

 

13305번: 주유소

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

www.acmicpc.net

 

반응형

'🧩PS > 🥉Easy' 카테고리의 다른 글

[JAVA] 백준 1037번 - 약수  (0) 2021.11.08
[JAVA] 백준 5086번 - 배수와 약수  (0) 2021.11.08
[JAVA] 백준 1541번 - 잃어버린 괄호  (0) 2021.11.05
[JAVA] 백준 11399번 - ATM  (0) 2021.11.05
[JAVA] 백준 2745번 - 진법 변환  (0) 2021.11.03

+ Recent posts