본문 바로가기
개발로그/알고리즘

프로그래머스 Lv.0 치킨 쿠폰

by 쩜징 2023. 8. 3.

프로그래머스 Lv.0 치킨 쿠폰


문제 설명

치킨을 시키면 한 마리당 쿠폰을 한 장 발급한다.

쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고,

서비스 치킨에도 쿠폰이 발급된다.

시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때

받을 수 있는 최대 서비스 치킨의 수를 return하라.

 

chicken은 정수입니다.

0 ≤ chicken ≤ 1,000,000

 

chicken result
100 11
1081 120

** 풀이 방법

 

10장씩 모으면 서비스 치킨을 받을 수 있으므로

먹은 치킨의 수 나누기 10의

몫을 계속해서 answer에 더해준다.

(chicken/10 > 0조건이 만족할때만)

 

이때, chicken의 개수는 /=10씩 줄여 나가야 하는데

서비스 치킨도 쿠폰이 발급되기 때문에

나머지 값들도 더해서 계산한다.

chicken = chicken / 10 + chicken % 10;

 

<> 전체 코드 </>

class Solution {
    public int solution(int chicken) {
        int answer = 0;
    
        while(chicken/10>0) {
            answer += chicken/10;
            chicken = chicken/10 + chicken%10;
        }
        //answer -> 108 + 10 + 1 + 1
        //chicken -> 1081 -> 109 -> 19 -> 10 -> 0
        return answer;
    }
}

반응형

댓글