[프로그래머스] 치킨 쿠폰
2025. 2. 23. 18:02ㆍCoding Test (Algorithm)/JAVA

코딩 테스트를 공부하고 있습니다📝 틀리거나 다른 부분이 있을 수 있습니다.
Quiz
Solution(Private)
문제를 접근할 때, 어떤 변수를 기준으로 삼아 로직을 구성해볼까 고민하게 된다.
이 문제는 coupon을 기준으로 진행하기로 결정하였다. 쿠폰이 10장이 되어야 서비스 치킨을 1마리를 먹을 수 있기 때문이다.
| 쿠폰 | 쿠폰 사용 | 남은 쿠폰 | 새로운 쿠폰 | 서비스 제공된 치킨 |
| 1081 | 1080 | 108 | 1 | 108 |
| 109 | 100 | 10 | 9 | 10 |
| 19 | 10 | 1 | 9 | 1 |
| 10 | 10 | 1 | 0 | 1 |
| 120 마리 |
예제처럼 1081마리를 주문했을 때, 120마리를 추가로 더 먹기 위해서
1. 쿠폰 -> 사용 -> 남은 쿠폰 + 새롭게 얻은 쿠폰
2. 서비스 제공된 치킨 누적
이라는 두 가지의 변수가 필요했다.
class Solution {
public int solution(int chicken) {
int answer = 0;
int coupon = chicken;
while(coupon >= 10) {
answer += (coupon / 10);
coupon = (coupon % 10) + (coupon / 10);
}
return answer;
}
}
그래서 1.은 coupon으로 2.는 answer로 변수를 생각하여 문제를 풀게 되었다.
Skill Up
단순 구현이 목적이 아니라, 어떻게 수들이 가감승제 하는 것인지 잘 살펴보아야 함을 깨닫는 문제였다.
'Coding Test (Algorithm) > JAVA' 카테고리의 다른 글
| [프로그래머스] 크기가 작은 문자열 (0) | 2025.12.13 |
|---|---|
| [프로그래머스] 없는 숫자 더하기 (0) | 2025.08.12 |
| [프로그래머스] 안전지대 (2) | 2025.08.10 |
| [프로그래머스] 구슬을 나누는 경우의 수 (4) | 2025.08.10 |
| [백준] 11382번 - 꼬마 정민 (1) | 2025.08.03 |