JuSeok

11399번

문제

  • ATM에 줄을 서있는 사람의 수 N과 각 사람이 돈을 인출하는 시간 P가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 문제
문제 해결 순서
  1. 시간의 최솟값이 되려면 ATM에 줄 서있는 사람이 오름차순으로 정렬되어 있어야함
  2. Arrays.sort()를 이용해 입력받은 배열을 정렬한다
  3. 반복문을 돌면서 걸리는 시간을 하나씩 더하고 그 값을 answer에 더한다 ([1] + [1+2] + [1+2+3] ...)
import java.util.Scanner;
import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
    int arr[] = new int[n];
    int answer = 0;
    int min = 0;
    for(int i = 0; i < n; i++){
      arr[i] = scan.nextInt();
    }
    Arrays.sort(arr);
    for(int i = 0; i < n; i++){
      min += arr[i];
      answer += min;
    }
    System.out.print(answer);
  }
}

Tags