이 문제에서 사용한 알고리즘은 그리디 알고리즘입니다. 그리디 알고리즘은 매 순간 최적의 선택을 하는 알고리즘으로, 이번 문제에서도 쿠폰을 최대한 빨리 적게 사용하여 받을 수 있는 서비스 치킨의 수를 최대화하는 것이 그리디 알고리즘의 아이디어입니다. 코드에서도 쿠폰을 10장씩 사용하여 받을 수 있는 서비스 치킨의 수를 최대화하도록 구현되어 있습니다.

class Solution {
    public int solution(int chicken) {
        int coupon = chicken;
        int free_chicken = 0;
        while (coupon >= 10) {
            free_chicken += coupon / 10;
            coupon = coupon % 10 + coupon / 10;
        }
        return free_chicken;
    }
}
profile
I'm still hungry.

0개의 댓글