BOJ_11399_ATM_JAVA
문제 : ATM
링크 : BOJ_11399_ATM
접근 방식
오름차순 정렬한 뒤 모든 사람의 누적 시간의 합을 더해서 총 누적 시간을 출력하면 되는 간단한 문제이다.
풀이 방법
-
사람 수를 읽어올 변수, 사람별 대기 시간을 저장할 배열을 생성하고 값을 할당한다.
-
2중 반복하는데, 뒤에 사람이 늘어날 때마다 앞의 사람의 대기 시간을 누적하여 구할 수 있도록 내부 반복문은 1부터 점차적으로 증가하게끔 한다.
-
모든 반복이 종료된 후 총 누적 대기 시간을 출력한다.
소스 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class BOJ_11399_ATM {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
StringTokenizer st = new StringTokenizer(in.readLine(), " ");
int[] arr = new int[N];
for(int i=0;i<N;i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
/*
1
12
123
1234
12345
*/
int sum = 0;
for(int i=0;i<N;i++) {
for(int j=0;j<=i;j++) {
sum = sum + arr[j];
}
}
System.out.println(sum);
}
}