프로그래머스(Programmers)를 통해 코딩 테스트 사전 연습한 사항입니다.
요약
- 출처: 프로그래머스(Programmers)
- 번호: 120884
코드
public class Java_120884 {
public int solution(int chicken) {
int answer = 0;
int coupon = 0;
while(chicken >= 10) {
answer += chicken / 10;
coupon += chicken % 10;
chicken /= 10;
if(coupon >= 10) {
int new_chicken = coupon / 10;
answer += new_chicken;
chicken += new_chicken;
coupon -= 10 * new_chicken;
}
}
coupon += chicken;
if(coupon >= 10) {
answer += coupon / 10;
}
return answer;
}
}
풀이
주어진 치킨을 10마리 단위로 나누어 몫을 치킨 수로, 나눈 나머지를 쿠폰 수로 더합니다.
치킨이 10마리 남았을 때까지 반복하되 반복할 때마다 쿠폰의 수가 10개가 넘는지 체크하여 10개당 1마리로 치킨 수로 추가합니다.
가장 중요한 포인트는 쿠폰의 수를 감산할 때에는 쿠폰으로 주문한 치킨의 수를 감하는 것이 아닌 10 * 주문한 치킨의 수로 총 사용한 쿠폰의 수를 빼주어야 원하는 결과를 얻을 수 있습니다.
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120884
저장소
https://github.com/Ardium/TIL/blob/master/CodingTest/Java/src/programmers/level0/Java_120884.java

'Programming > Test' 카테고리의 다른 글
[Java] OX퀴즈 - Programmers Q120907 (0) | 2023.04.18 |
---|---|
[Java] 인덱스 바꾸기 - Programmers Q120895 (0) | 2023.04.17 |
[Java] 배열 회전시키기 - Programmers Q120842 (0) | 2023.04.13 |
[Java] 문자열 정렬하기 (1) - Programmers Q120850 (0) | 2023.04.12 |
[Java] 컨트롤 제트 - Programmers Q120853 (0) | 2023.04.11 |
댓글