자바 백준 14487번
브론즈 2
https://www.acmicpc.net/problem/14487
문제 보기
분류: 구현, 그리디 알고리즘
문제 풀기
서로 제일 이동 비용이 큰 두 마을을 시작과 끝으로 잡으면 그 두 마을을 연결하는 길은 가지 않아도 되며 최소한의 이동경비를 기대할 수 있다.
따라서 제일 이동 비용이 큰 경우를 제외한 나머지 이동 경로 비용만 합하면 되기 때문에 오름차순 정렬을 하여 마지막 index만 빼고 모두 누적합한다.
코드 보기
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] numbers = new int[n];
for (int i = 0; i < n; i++) {
numbers[i] = sc.nextInt();
}
Arrays.sort(numbers);
long sum = 0;
for (int i = 0; i < n - 1; i++) {
sum += numbers[i];
}
System.out.println(sum);
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 2754 - 학점 계산 (0) | 2023.09.04 |
---|---|
[Java] 백준 풀기 2523 - 별 찍기 13 (0) | 2023.09.02 |
[Java] 백준 풀기 9316 - Hello Judge (0) | 2023.08.31 |
[Cloud] Permissions for 'ssh-key-202X-XX-XX.key' are too open. 해결 (0) | 2023.08.31 |
[Java] 백준 풀기 3046 - R2 (0) | 2023.08.30 |