프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 치킨 쿠폰(Java)

Sigfriede 2023. 6. 1. 01:00

  문제 설명

  프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return 하도록 solution 함수를 완성해주세요.

 

  제한사항

  • chicken은 정수입니다.
  • 0 <= chicken <= 1,000,000

 

  입출력 예

chicken result
100 11
1,081 120
class Solution {
    public int solution(int chicken) {
        int answer = 0;
        while (chicken >= 10) {
            answer += chicken / 10;
            chicken = (chicken / 10) + (chicken % 10);
        }
        return answer;
    }
}

  while문은 chicken이 10보다 크거나 같은 동안에 반복합니다. answer에 chicken을 10으로 나눈값을 더하기 할당합니다. answer에는 서비스 쿠폰 장수가 직접적으로 더해집니다.

  매개변수 chicken에 chicken을 10으로 나눈 값(서비스 쿠폰으로 시킨 치킨 수)과 chicken을 10으로 나눈 나머지(열 마리 이하의 남은 치킨 수)를 더해줍니다. 만약 서비스 쿠폰으로 시킨 치킨과 남은 치킨 수를 더하여 10 이상이라면 반복문이 다시 실행되어, 더는 서비스 쿠폰을 받을 수 없을 때까지 반복합니다.

  24일차 클리어지만 아직도 남은 문제가 많은….