Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 14582
  • 백준 1064
  • 백준 3135
  • 백준 12871
  • 백준 7662
  • 백준 6550
  • 백준 2343
  • 백준 7567
  • 백준 10709
  • 백준 1011
  • 백준 1747
  • 백준 15961
  • 백준 2225
  • 백준 1495
  • 백준 12605
  • 백준
  • 백준 4659
  • 백준 24039
  • Java
  • 백준 3049
  • 백준 8892
  • 자바
  • 백준 1914
  • 백준 2467
  • 백준 2591
  • 백준 16926
  • 백준 1531
  • 백준 15312
  • 백준 16194
  • 백준 15655
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 11399 ATM(Java)
백준

백준 11399 ATM(Java)

2023. 1. 25. 02:07

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

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구해야 합니다. 먼저 값을 입력받은후 내림차순으로 정렬한 후에 다시 반복문을 통해 누적시간을 배열에 입력합니다. 마지막으로 모든 값들의 합을 출력하면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;
import java.util.Arrays;

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

    int sum = 0;
    int n = sc.nextInt();
    int[] arr = new int[n];
    
    for(int i = 0; i < n; i++) {
      arr[i] = sc.nextInt();
    }

    Arrays.sort(arr);

    for(int i = 1; i < n; i++) {
      arr[i] += arr[i-1];               //n번째 사람이 걸리는시간 = 1+2+...n-1번째의 합
    }

    for(int i = 0; i < n; i++) {
      sum += arr[i];
    }

    System.out.println(sum);
  }
}

'백준' 카테고리의 다른 글

백준 1018 체스판 다시 칠하기(Java)  (0) 2023.01.25
백준 11047 동전 0(Java)  (2) 2023.01.25
백준 10828 스택(Java)  (1) 2023.01.25
백준 9012 괄호(Java)  (1) 2023.01.24
백준 1065 한수(Java)  (0) 2023.01.24
    '백준' 카테고리의 다른 글
    • 백준 1018 체스판 다시 칠하기(Java)
    • 백준 11047 동전 0(Java)
    • 백준 10828 스택(Java)
    • 백준 9012 괄호(Java)
    Park DJ
    Park DJ

    티스토리툴바