문제 url:
세탁소 사장 동혁
문제:
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sbd = new StringBuilder();
int tc = Integer.parseInt(br.readLine());
for (int i = 0; i < tc; i++) {
int c = Integer.parseInt(br.readLine());
sbd.append(c / 25).append(" ")
.append(c % 25 / 10).append(" ")
.append(c % 25 % 10 / 5).append(" ")
.append(c % 25 % 10 % 5).append(" ").append("\n");
}
br.close();
System.out.println(sbd);
}
}
이전 글과는 달리, 특별히 생각하거나 준비할 요소는 없었기에 짧게 코드만 적었다.
그 후 다른 블로그를 통해 다른 풀이를 찾아보니 그리디 알고리즘 문제라고 한다.
나중에 그리디 알고리즘에 대해서 공부하며 또 설명해보겠다.
Greedy 알고리즘(a.k.a 탐욕 알고리즘)
최적해를 구하는 데에 사용되는 근사적인 방법
여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식