문제
치킨 쿠폰 : 문제 링크
문제 분석
- 프로그래머스 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급한다(서비스 치킨에도 발급). 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return
- 100마리 이상일 때 자릿수마다 서비스 치킨이 1마리가 추가된다는 규칙을 이용하여, chicken을 10으로 나눈 나머지를 변수 service에 저장
- answer 변수에는 주문한 치킨수를 10으로 나눈 몫을 저장하고, service에 저장된 값을 chicken에 더하여 저장
- chicken 변수가 한 자리가 될때까지, while loop 반복 후 탈출시 answer을 return
풀이
using namespace std;
int solution(int chicken) {
int service = 0;
int answer = 0;
while(1) {
if(chicken < 10) break;
service = chicken % 10;
chicken /= 10;
answer += chicken;
chicken += service;
}
return answer;
}
글 잘 봤습니다, 많은 도움이 되었습니다.