쵼쥬 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);
    }

}