[프로그래머스] 치킨 쿠폰

2025. 2. 23. 18:02Coding Test (Algorithm)/JAVA

 

코딩 테스트를 공부하고 있습니다📝 틀리거나 다른 부분이 있을 수 있습니다.

 

Quiz

치킨 쿠폰

 

Solution(Private)

문제를 접근할 때, 어떤 변수를 기준으로 삼아 로직을 구성해볼까 고민하게 된다.

이 문제는 coupon을 기준으로 진행하기로 결정하였다. 쿠폰이 10장이 되어야 서비스 치킨을 1마리를 먹을 수 있기 때문이다.

쿠폰 쿠폰 사용 남은 쿠폰 새로운 쿠폰 서비스 제공된 치킨
1081 1080 108 1 108
109 100 10 9 10
19 10 1 9 1
10 10 1 0 1
        120 마리

 

예제처럼 1081마리를 주문했을 때, 120마리를 추가로 더 먹기 위해서

 

1. 쿠폰 -> 사용 -> 남은 쿠폰 + 새롭게 얻은 쿠폰

2. 서비스 제공된 치킨 누적 

 

이라는 두 가지의 변수가 필요했다.

class Solution {
    public int solution(int chicken) {
        int answer = 0;
        int coupon = chicken;
        while(coupon >= 10) {
            answer += (coupon / 10);
            coupon = (coupon % 10) + (coupon / 10);
        }
        return answer;
    }
}

 

그래서 1.은 coupon으로 2.는 answer로 변수를 생각하여 문제를 풀게 되었다.

 

Skill Up

단순 구현이 목적이 아니라, 어떻게 수들이 가감승제 하는 것인지 잘 살펴보아야 함을 깨닫는 문제였다.