forDevLife
[백준] 11399 - ATM (자바) 본문
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int[] P = new int[N];
for (int i = 0; i < N; i++) {
P[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(P);
//counting Sort
// while (N-- > 0) {
// P[Integer.parseInt(st.nextToken())]++;
// }
int[] acc = new int[N];
int sum = 0;
for (int i = 0; i < N; i++) {
if ((i - 1) != -1) {
acc[i] = acc[i - 1] + P[i];
sum += acc[i];
} else {
acc[i] = P[i];
sum += acc[i];
}
}
System.out.print(sum);
}
}
- counting sort를 이용하면 더 빠르게 풀 수 있다.(시간 제한 클 경우, arrays.sort로는 어려울 수 있다.)
- 입력 받자마자 정렬하는 방식 (st-lab.tistory.com/104)
'알고리즘' 카테고리의 다른 글
[백준] 13305 - 주유소 (자바) (0) | 2021.05.01 |
---|---|
[백준] 1541 - 잃어버린 괄호 (자바) (0) | 2021.04.30 |
[백준] 1931 - 회의실 배정 (자바) (0) | 2021.04.30 |
[백준] 11047 - 동전0 (자바) (0) | 2021.04.30 |
[코드업] 기초 100제 JAVA (0) | 2021.04.26 |
Comments