https://school.programmers.co.kr/learn/courses/30/lessons/120884
■ 문제점 설명
Programmer’s Chicken은 치킨을 주문하고 소비할 때마다 쿠폰을 발행합니다.
쿠폰 10장을 모으면 치킨 서비스를 받을 수 있으며, 서비스 치킨에 쿠폰이 지급됩니다.
먹은 닭의 수 주어진 치킨을 매개변수로 받을 수 있는 서빙된 치킨의 최대 수를 반환하는 풀이 함수를 완료하십시오.
■ 제한사항
- 치킨은 정수입니다.
- 0 ≤ 닭 ≤ 1,000,000
■ 결과 예
닭 | 결과 |
100 | 11 |
1,081 | 120 |
■ 내 코드
class Solution {
public int solution(int chicken) {
int answer = 0;
while(chicken >= 10) {
int service = chicken / 10;
int coupon = chicken % 10;
chicken = service + coupon;
answer += service;
}
return answer;
}
}
■ 코드솔루션
while 문으로 쿠폰이 10개 이상 남아있을 때만 반복되도록 설정한 후 서비스 중인 쿠폰으로 전환할 수 있는 쿠폰 개수를 계산하고 쿠폰으로 전환 후 남은 개수를 계산합니다.
이후 쿠폰 개수와 나머지를 치킨에 합산해 답으로 교환할 수 있는 쿠폰 개수를 누적해 값을 돌려줬다.