물병

王林
王林원래의
2024-07-17 08:48:51368검색

1518. 물병

쉬움

처음에는 물이 가득 차 있는 numBottles개의 물병이 있습니다. 시중에 파는 numExchange 빈 물병을 가득 찬 물병 1개로 교환하실 수 있습니다.

물병을 가득 채우는 동작을 하면 빈병이 됩니다.

두 개의 정수 numBottles 및 numExchange가 주어지면 마실 수 있는 최대 물병 수를 반환합니다.

예 1:

Water Bottles

  • 입력: numBottles = 9, numExchange = 3
  • 출력: 13
  • 설명: 빈 병 3개를 가득 채운 물병 1개로 교환할 수 있습니다. 마실 수 있는 물병 개수: 9 + 3 + 1 = 13.

예 2:

Water Bottles

  • 입력: numBottles = 15, numExchange = 4
  • 출력: 19
  • 설명: 빈 병 4개를 가득 채운 물병 1개로 교환할 수 있습니다. 마실 수 있는 물병 개수: 15 + 3 + 1 = 19.

제약조건:

  • 1 <= numBottles <= 100.
  • 2 <= numExchange <= 100

해결책:

class Solution {

    /**
     * @param Integer $numBottles
     * @param Integer $numExchange
     * @return Integer
     */
    function numWaterBottles($numBottles, $numExchange) {
        $totalDrunk = 0;
        $emptyBottles = 0;

        while ($numBottles > 0) {
            // Drink all the current full bottles
            $totalDrunk += $numBottles;

            // Collect the empty bottles
            $emptyBottles += $numBottles;

            // Exchange the empty bottles for new full ones
            $numBottles = floor($emptyBottles / $numExchange);
            $emptyBottles = $emptyBottles % $numExchange;
        }

        return $totalDrunk;
    }
}




  • 링크드인
  • 깃허브

위 내용은 물병의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.