a
콜라를 받기 위해 마트에 주어야 하는 병 수 | 2
b
빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 | 1
n
상빈이가 가지고 있는 빈 병의 개수 | 20
=> 상빈이가 받을 수 있는 콜라의 병 수를 return
빈병의 개수를 a만큼 빼고 b만큼 증가시키면서 구함
class Solution {
public int solution(int a, int b, int n) {
int empty = n, ans = 0;
while(empty >= a){
empty-=a;
empty+=b;
ans += b;
}
return ans;
}
}
class Solution {
public int solution(int a, int b, int n) {
int ans = 0;
int empty = n;
while(empty >= a) {
int get = empty / a * b;
empty = empty % a + get;
ans += get;
}
return ans;
}
}
=> 주의점) int get = empty / a * b; 에서 b를 먼저 곱하면 틀렸습니다가 나옴
TIP : 정수형으로 나누기 연산을 할 경우, 소숫점 아래가 버려지는 경우가 생길 수 있으므로 잘 고려해야 한다.