본문 바로가기

Algorithm/Brute Force

(C++) - LeetCode (easy) 1742. Maximum Number of Balls in a Box

반응형

https://leetcode.com/problems/maximum-number-of-balls-in-a-box/description/

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

각 limit로부터 얻은 ball 번호를 key로, 해당 번호의 개수를 value로 갖는 ballNumCountMap을 선언해줍니다. 

📔 풀이과정

1. low ~ high limit에 대해 for loop를 수행하며 각 ball 번호별 개수를 저장해줍니다.2. ballNumCountMap의 원소를 순회하며 가장 많이 나온 번호의 공 개수를 maxBalls에 저장해줍니다.

📔 정답 출력 | 반환

maxBalls를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int getSum(int limit) {
        int sum = 0;
        while(limit) {
            sum += limit % 10;
            limit /= 10;
        }
        return sum;
    }

    int countBalls(int lowLimit, int highLimit) {
        map <int,int> ballNumCountMap;
        for(int i = lowLimit; i <= highLimit; i++) {
            int limit = i;
            int sum = getSum(limit);
            ballNumCountMap[sum]++;
        }
        int maxBalls = 0;
        int ballNumber = 0;
        for(auto m : ballNumCountMap) {
            maxBalls = max(maxBalls, m.second);
        }
        return maxBalls;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.