반응형
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;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.