-
[코딩테스트] 백준(BAEKJOON) - ATM(Java, 11399번)코딩테스트/백준 2023. 4. 11. 21:28728x90
안녕하세요.
오랜만에 다시 코딩테스트 문제를 풀어보네요.
그리디부터 차근차근 풀어보고자 합니다.
제가 너무 안일하게 DP부터 풀어서 어려웠나 싶네요.
나동빈님의 영상을 보고 차근차근 하나의 알고리즘 분류당 50문제! 할 수 있을까요..?
매섭게 가보시죠!
오늘 풀어볼 문제는 간단한 문제입니다.
바로 문제링크 걸어두겠습니다.
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
그렇습니다.
시간의 합을 최소로 만든다.
이 문제를 풀면서 편의점에서 아저씨들이 나 담배 하나면 돼 내꺼먼저 해줘! 가 생각이 급났었습니다.
Arrays.Sort를 통해 정렬 한 뒤 누적값을 더해주시면 되는 문제입니다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.PriorityQueue; import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); int count=Integer.parseInt(bf.readLine()); List<Integer> arr=new ArrayList<Integer>(); String[] line=bf.readLine().split(" "); long answer=0; long sum=0; for(String ele:line) { arr.add(Integer.parseInt(ele)); } Collections.sort(arr); for(int ele :arr) { sum=sum+ele; answer=answer+sum; } System.out.println(answer); } }
하나의 main에서 문제를 돌려 풀다보니 import가 많네요 😂😂
필요한 부분만 꺼내다 써주시면! 되겠습니다.
감사합니다. :D
'코딩테스트 > 백준' 카테고리의 다른 글
[코딩테스트] 백준(BAEKJOON) - 회의실 배정(Java, 1931번) (0) 2023.04.13 [코딩테스트] 백준(BAEKJOON) - 동전 0(Java, 11047번) (0) 2023.04.11 [코딩테스트] 백준(BAEKJOON) - 구간 합 구하기 5(Java, 11660번) (0) 2023.03.30 [코딩테스트] 백준(BAEKJOON) - 이항 계수 2(Java, 11051번) (0) 2023.03.30 [코딩테스트] 백준(BAEKJOON) - 제곱수의 합(Java, 1699번) (0) 2023.02.09