Given an integer n
. Each number from 1
to n
is grouped according to the sum of its digits.
Return how many groups have the largest size.
Input: n = 13 Output: 4 Explanation: There are 9 groups in total, they are grouped according sum of its digits of numbers from 1 to 13: [1,10], [2,11], [3,12], [4,13], [5], [6], [7], [8], [9]. There are 4 groups with largest size.
Input: n = 2 Output: 2 Explanation: There are 2 groups [1], [2] of size 1.
Input: n = 15 Output: 6
Input: n = 24 Output: 5
1 <= n <= 10^4
class Solution:
def countLargestGroup(self, n: int) -> int:
counter = {}
for i in range(1, n + 1):
digits_sum = sum(map(int, str(i)))
if digits_sum not in counter:
counter[digits_sum] = 0
counter[digits_sum] += 1
largest_size = max(counter.values())
return sum(map(lambda x: x == largest_size, counter.values()))