코린이의 소소한 공부노트

[LeetCode/Easy] 1518. Water Bottles 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 1518. Water Bottles

무지맘 2023. 4. 12. 15:25

1. Input

1) int numBottles

2) int numExchange

 

2. Output

1) 다음 조건을 보고 내가 마실 수 있는 물병의 최대 수를 구해서 반환

- 맨 처음 물병을 numBottles개 받는다.

- 다 마시고 난 빈 물병을 numExchange개 갖고 가면 새 물병을 1개 받을 수 있다.

 

3. Constraint

1) 1 <= numBottles <= 100

2) 2 <= numExchange <= 100

 

4. Example

Input: numBottles = 9, numExchange = 3 -> Output: 13

설명:

- 9병을 다 마신다.

- 빈 병 9개를 가지고 가 새 병 3개를 받는다.

- 3병을 다 마신다.

- 빈 병 3개를 가지고 가 새 병 1개를 받는다.

- 1병을 다 마신다.

- 내가 마실 수 있는 물병의 최대 수는 9 + 3 + 1 = 13개이다.

 

5. Code

1) 첫 코드(2023/04/12)

int emptyBottles = 0, answer = numBottles;
while(numBottles>0){
    emptyBottles += numBottles;
    numBottles = emptyBottles/numExchange;
    emptyBottles = emptyBottles%numExchange;
    answer += numBottles;
}
return answer;