본문 바로가기
Programming/Test

[Java] 치킨 쿠폰 - Programmers Q120884

by 돌방로그 2023. 4. 14.

프로그래머스(Programmers)를 통해 코딩 테스트 사전 연습한 사항입니다.


요약

  • 출처: 프로그래머스(Programmers)
  • 번호: 120884

 

코드

public class Java_120884 {
    public int solution(int chicken) {
        int answer = 0;
        int coupon = 0;

        while(chicken >= 10) {
            answer += chicken / 10;
            coupon += chicken % 10;
            chicken /= 10;

            if(coupon >= 10) {
                int new_chicken = coupon / 10;
                answer += new_chicken;
                chicken += new_chicken;
                coupon -= 10 * new_chicken;
            }
        }
        coupon += chicken;
        if(coupon >= 10) {
            answer += coupon / 10;
        }

        return answer;
    }
}

 

풀이

주어진 치킨을 10마리 단위로 나누어 몫을 치킨 수로, 나눈 나머지를 쿠폰 수로 더합니다.

치킨이 10마리 남았을 때까지 반복하되 반복할 때마다 쿠폰의 수가 10개가 넘는지 체크하여 10개당 1마리로 치킨 수로 추가합니다.

가장 중요한 포인트는 쿠폰의 수를 감산할 때에는 쿠폰으로 주문한 치킨의 수를 감하는 것이 아닌 10 * 주문한 치킨의 수로 총 사용한 쿠폰의 수를 빼주어야 원하는 결과를 얻을 수 있습니다.

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120884

 

저장소

https://github.com/Ardium/TIL/blob/master/CodingTest/Java/src/programmers/level0/Java_120884.java

 

 


 

댓글