Algorithm/Inflearn

[알고리즘/인프런] 자릿수의 합

개발자 김비숑 2023. 5. 29. 14:33
반응형

문제


N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력 하는 프로그램을 작성하세요. 자릿수의 합이 같은 경우 원래 숫자가 큰 숫자를 답으로 합니다. 만약 235 와 1234가 동시에 답이 될 수 있다면 1234를 답으로 출력해야 합니다.

 

풀이


function solution(N, arr) {
  let maxVal = Number.MIN_SAFE_INTEGER;
  let answer = Number.MIN_SAFE_INTEGER;

  for (let num of arr) {
    const total = [...(num + "")].map(Number).reduce((a, b) => a + b);

    if (maxVal <= total) {
      maxVal = total;
      answer = Math.max(num, answer);
    }
  }

  return answer;
}

let arr = [128, 460, 603, 40, 521, 137, 123];
console.log(solution(7, arr));

 

반응형