- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Finding the group with largest elements with same digit sum in JavaScript
We are required to write a JavaScript function that takes in a positive integer, say n, as the only argument.
The function should first group the integers from 1 to n to subarray where a specific subarray contains all the elements contains a specific digit sum. Then the function should examine each subarray and return the length of that subarray which contains the most elements.
For example −
If the input number is −
const num = 15;
Then the output should be −
const output = 2;
because the groups are −
[1, 10], [2, 11], [3, 12], [4, 13], [5, 14], [6, 15], [7], [8], [9]
Example
Following is the code −
const num = 67; const countLargestGroup = (num = 1) => { if(num < 10){ return num; }; let res = 0; let temp = 0; let map = {}; for(let i = 1; i <= num; i++){ let sum = 0; let num = i; while (num) { sum += num % 10; num = Math.floor(num / 10); } if(map[sum] != undefined){ map[sum]++; } else { map[sum] = 1; } }; for (const key of Object.keys(map)) { if(temp == map[key]){ res++; } else if(temp < map[key]){ res = 1; temp = map[key]; } }; return res; }; console.log(countLargestGroup(num));
Output
Following is the console output −
4
Advertisements