์๋ฆฟ์์ ํฉ(์์ ํ์)
๋ฌธ์ (์ถ์ฒ : ์ธํ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ๊ฐ์, ์ ๋ณด์ฌ๋ฆผํผ์๋)
N๊ฐ์ ์์ฐ์๊ฐ ์ ๋ ฅ๋๋ฉด ๊ฐ ์์ฐ์์ ์๋ฆฟ์์ ํฉ์ ๊ตฌํ๊ณ , ๊ทธ ํฉ์ด ์ต๋์ธ ์์ฐ์๋ฅผ ์ถ๋ ฅ ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์๋ฆฟ์์ ํฉ์ด ๊ฐ์ ๊ฒฝ์ฐ ์๋ ์ซ์๊ฐ ํฐ ์ซ์๋ฅผ ๋ต์ผ๋ก ํฉ๋๋ค. ๋ง์ฝ 235 ์ 1234๊ฐ ๋์์ ๋ต์ด ๋ ์ ์๋ค๋ฉด 1234๋ฅผ ๋ต์ผ๋ก ์ถ๋ ฅํด์ผ ํฉ๋๋ค.
โฃ ์
๋ ฅ์ค๋ช
์ฒซ ์ค์ ์์ฐ์์ ๊ฐ์ N(3<=N<=100)์ด ์ฃผ์ด์ง๊ณ , ๊ทธ ๋ค์ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์์ฐ์์ ํฌ๊ธฐ๋ 10,000,000๋ฅผ ๋์ง ์๋๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์๋ฆฟ์์ ํฉ์ด ์ต๋์ธ ์์ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
โฃ ์
๋ ฅ์์ 1
7
128 460 603 40 521 137 123
โฃ ์ถ๋ ฅ์์ 1
137
Tip
๋ฌธ์ ํ์ด
//๋ด๊ฐ ์์ฑํ ๋ต
function solution(nums){
let result;
let maxSum = Number.MIN_SAFE_INTEGER;
for(let x of nums){
let temp = x;
let sum = 0;
while(temp){
sum += (temp%10);
temp = Math.floor(temp/10);
}
if(sum > maxSum){
maxSum = sum;
result = x;
}
else if(sum === maxSum){
if(x > result) result = x;
}
}
return result;
}
let arr2=[128, 460, 603, 40, 521, 137, 123];
console.log(solution(arr2));