문제설명
프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
제한사항
입출력 예
chicken | result |
---|---|
100 | 11 |
1,081 | 120 |
입출력 예 설명
입출력 예 #1
입출력 예 #2
풀이
재귀함수로 풀이 했다.
남은 쿠폰은 모아서 계속 사용해야 하므로,
chicken/10의 몫과 함꼐 매개변수에 계속 넣어 주면서 재귀함수를 순환 시킨다.
class Solution {
public int solution(int chicken) {
if (chicken / 10 < 1) {
return 0;
} else {
return chicken / 10 + solution(chicken / 10 + chicken % 10);
}
}
}
참고
치킨 쿠폰