✏️ 입력설명
첫 줄에 자연수의 개수 N(3<=N<=100)이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다. 각 자연수의 크기는 10,000,000를 넘지 않는다.
✏️ 출력설명
자릿수의 합이 최대인 자연수를 출력한다.
✏️ 입력예제 1
7
128 460 603 40 521 137 123
✏️ 출력예제 1
137
function solution(n, arr) {
let temp = 0; // 문자로 변환한 배열의 엘리먼트
let sum = 0; // 자릿수의 합
let max = Number.MAX_SAFE_INTEGER; // 자릿수의 합 중 제일 큰 값
let result = 0; // 원래 배열의 수
for (let i = 0; i < n; i++) {
temp = arr[i].toString(); // arr[i]를 문자로 변경
for (let j = 0; j < temp.length; j++) {
sum += Number(temp.charAt(j));
// 자릿수를 숫자로 다시 변환하여 sum에 더함.
}
console.log(arr[i]+" 자릿수 합 : "+sum);
if (sum > max) { // 자릿수의 합이 max보다 크면
max = sum; // sum을 max에 대입
result = arr[i]; // 원래 수를 result에 대입
} else if (sum === max) { // sum과 max가 같은 경우
if (arr[i] > result) { // 현재 수와 result를 비교해 현재 수가 크면
result = arr[i]; // result에 현재 수 더함.
}
}
console.log("최대값 : "+max);
sum = 0; // sum 초기화
temp=0; // temp 초기화
}
console.log("====================");
console.log("결과 : "+ result);
return result;
}
let arr = [128, 460, 603, 40, 521, 137, 123];
console.log(solution(7, arr));