본문 바로가기

Problem Solving1214

[백준] 11399 ATM - Greedy / Java • 문제 링크 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net • 풀이 과정 앞 사람의 인출시간이 짧을수록 뒤의 인원이 부담해야 할 시간이 줄어드므로 소요시간을 오름차순으로 정렬한다. 이 후 인원 당 소요된 시간을 앞 사람이 소요한 시간까지 포함해 누적한 값으로 temp 변수에 구하고 각각 cnt 변수에 모두 더해 필요한 시간의 합의 최솟값을 구한다. • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import ja.. 2022. 5. 2.
[백준] 11047 동전 0 - Greedy / Java • 문제 링크 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net • 풀이 과정 문제 중 동전의 가치가 일정한 값으로써 Ai가 Ai-1의 배수인 조건에 의해 그리디로 해결 가능하다. 동전은 n 종류, 가치의 합이 될 값은 k로 입력받고 각 동전의 가치가 오름차순으로 List에 저장된다. 우선 동전의 가치가 큰 순서대로 비교하기 위해 입력받은 List를 Collections.reverseOrder() 로 내림차순 정렬한다. 저장된 각 값을 k와 연산하는.. 2022. 5. 1.