자리수의 합

Bard·2022년 2월 3일
0

알고리즘

목록 보기
6/6
function solution(arr) {
  // MIN_SAFE_INTEGER 사용해서 안전한 최소 정수값으로 max 초기화
  let answer,
    max = Number.MIN_SAFE_INTEGER;
  for (let x of arr) {
    // 문자열 변환 - 배열 변환 - reduce 사용해서 자릿수 합 추출
    let sum = x
      .toString()
      .split("")
      .reduce((a, b) => a + Number(b), 0);
    // 자릿수 합이 이전 자릿수 합보다 크다면
    if (sum > max) {
      max = sum;
      answer = x;
      // 자릿수 합이 같고 원래 값이 더 크다면
    } else if (sum === max && x > answer) {
      answer = x;
    }
  }
  return answer;
}

let arr = [128, 460, 603, 40, 521, 137, 123];
console.log(solution(arr)); // 137
profile
영차영차🐢

0개의 댓글