코딩테스트/[알고리즘] 알고리즘 정리
그리디 알고리즘
쵼쥬
2021. 10. 4. 13:55
그리디 알고리즘
- 현재 상황에서 지긤 당장 좋은 것만 고르는 방법
- 최소한의 아디디어를 떠올릴수 있는 능력을 요구한다.
- 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 해야한다.
- 거스름돈 문제
일반적인 상황에서는 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다.
코딩테스트에서의 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서 이를 추론할 수 있어야 풀리도록 출제된다.
거스름돈 문제 코드
public class Main {
public static void main(String[] args) {
int n = 1260;
int cnt = 0;
int[] coinTypes = {500, 100, 50, 10};
for (int i = 0; i < 4; i++) {
int coin = coinTypes[i];
cnt += n / coin;
n %= coin;
}
System.out.println(cnt);
}
}