Write a Program to Count Largest Group
# 1399. Count Largest Group
You are given an integer n.
Each number from 1 to n is grouped according to the sum of its digits.
Return the number of groups that have the largest size.
### Example 1:
“`
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.
“`
### Example 2:
“`
Input: n = 2
Output: 2
Explanation: There are 2 groups [1], [2] of size 1.
“`
Constraints:
“`
1 <= n <= 104 ```
/** * @param {number} n * @return {number} */ var countLargestGroup = function(n) { const getDigitCount = (j) => { if ( j <= 9 ) return j; let cnt = 0, numStr = `${j}`; for (let i = 0; i < numStr.length; i++) { cnt += +numStr[i]; } return cnt; } const map = new Map(); for (let i = 1; i <= n; i++) { let item = []; const digiCnt = getDigitCount(i); if (map.has(digiCnt)) { item = map.get(digiCnt); } item.push(digiCnt) map.set(digiCnt, item); } let max = -1, out = []; for(const item of map.values()) { const len = item.length; out.push(len); if (len >= max) { max = len; } } let outCnt =0; for (let i = 0; i < out.length; i++) { if (out[i] == max) outCnt++; } return outCnt; };