프로그래머스 Lv.0 치킨 쿠폰

문제 설명
치킨을 시키면 한 마리당 쿠폰을 한 장 발급한다.
쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고,
서비스 치킨에도 쿠폰이 발급된다.
시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때
받을 수 있는 최대 서비스 치킨의 수를 return하라.
chicken은 정수입니다.
0 ≤ chicken ≤ 1,000,000
chicken | result |
100 | 11 |
1081 | 120 |
** 풀이 방법
10장씩 모으면 서비스 치킨을 받을 수 있으므로
먹은 치킨의 수 나누기 10의
몫을 계속해서 answer에 더해준다.
(chicken/10 > 0조건이 만족할때만)
이때, chicken의 개수는 /=10씩 줄여 나가야 하는데
서비스 치킨도 쿠폰이 발급되기 때문에
나머지 값들도 더해서 계산한다.
chicken = chicken / 10 + chicken % 10;
<> 전체 코드 </>
class Solution {
public int solution(int chicken) {
int answer = 0;
while(chicken/10>0) {
answer += chicken/10;
chicken = chicken/10 + chicken%10;
}
//answer -> 108 + 10 + 1 + 1
//chicken -> 1081 -> 109 -> 19 -> 10 -> 0
return answer;
}
}
반응형
'개발로그 > 알고리즘' 카테고리의 다른 글
그리디 알고리즘 (0) | 2023.08.04 |
---|---|
프로그래머스 Lv.1 문자열 내 마음대로 정렬하기 (0) | 2023.08.03 |
프로그래머스 Lv.0 배열 만들기 2 (0) | 2023.07.31 |
프로그래머스 Lv.0 배열 만들기 4 (0) | 2023.07.31 |
프로그래머스 Lv.0 배열 만들기 6 (0) | 2023.07.31 |
댓글