-
[백준/JAVA] 11399번: ATMAlgorithm 2024. 7. 17. 09:36
https://www.acmicpc.net/problem/11399
- 정답 코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; 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()); // 5 int[] list = new int[N]; StringTokenizer st = new StringTokenizer(br.readLine()); for(int i = 0; i < N; i++) { list[i] = Integer.parseInt(st.nextToken()); // [3,1,4,3,2] } Arrays.sort(list); // [1,2,3,3,4] int sum = 0; int time = 0; // 현재 사람까지의 누적 시간 저장 for(int i = 0; i < N; i++) { time += list[i]; // 현재 사람의 인출 시간 + 누적 시간 sum += time; } System.out.println(sum); } }
- 문제 풀이
- 각 사람의 인출 시간을 오름차순으로 정렬했습니다.
- 각 사람의 인출 시간을 누적 계산하여 최종 합계를 구했습니다.
계산 과정:
- 1번 사람: 1분
- 2번 사람: 1+2 = 3분
- 3번 사람: 1+2+3 = 6분
- 4번 사람: 1+2+3+3 = 9분
- 5번 사람: 1+2+3+3+4 = 13분
최종 합계: 1 + 3 + 6 + 9 + 13 = 32
'Algorithm' 카테고리의 다른 글
[백준/JAVA] 13305번: 주유소 (0) 2024.07.17 [백준/JAVA] 20300번: 서강근육맨 (0) 2024.07.17 [백준/JAVA] 11508번: 2+1 세일 (0) 2024.07.16 [백준/JAVA] 1758번: 알바생 강호 (0) 2024.07.16 [백준/JAVA] 2217번: 로프 (0) 2024.07.16