
😎풀이
- 특정 수에서 가장 큰 자릿수를 반환하는 헬퍼 함수 정의
nums의 각 수에서 가장 큰 자릿수를 모두 확인
nums 2중 순회
3-1. 가장 큰 자릿수가 동일한 두 수 탐색
3-2. 두 수의 합을 통해 최댓값 갱신
- 탐색된 최대 합 반환
function maxSum(nums: number[]): number {
const n = nums.length
let max = -1
const maxDigits = nums.map(getMaxDigit)
for(let i = 0; i < n - 1; i++) {
for(let j = i + 1; j < n; j++) {
if(maxDigits[i] !== maxDigits[j]) continue
const curSum = nums[i] + nums[j]
max = Math.max(max, curSum)
}
}
return max
};
function getMaxDigit(num: number) {
const digits = []
while(num) {
digits.push(num % 10)
num = Math.floor(num / 10)
}
return Math.max(...digits)
}