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;  
};