λλ κ° μ리μμ ν©μ΄ κ³±λ³΄λ€ ν°κ²½μ°λ₯Ό λ¨Όμ ifλ¬Έμ ν΅ν΄ κ±°λ₯Έν, λλ¨Έμ§λ₯Ό μ λΆ κ³±μ μΌλ‘ ν΄κ²°νλ €κ³ μκ°νμλ€.
function numJudge(num) {
let subAnswer = 0;
const list = [];
let n = num;
//νμ리 μ«μμΌ κ²½μ°
if (num.toString().length === 1) {
subAnswer = num;
} else if (num.toString().length === 2) {
//λμ리 μ«μμΌ κ²½μ°
if (
Math.floor(num / 10) === 1 ||
num % 10 === 1 ||
num % 10 === 0
) {
subAnswer = Math.floor(num / 10) + (num % 10);
} else {
subAnswer = Math.floor(num / 10) * (num % 10);
}
} else {
//μΈμ리 μ«μμΌ κ²½μ°
for (let i = 2; i >= 0; i--) {
list[i] = n % 10;
n = Math.floor(n / 10);
}
if (
list.includes(0) ||
list.filter((i) => i === 1).length === 2
) {
subAnswer = list.reduce((a, b) => a + b, 0);
} else if (
list.filter((i) => i === 2).length === 2 &&
list.filter((i) => i === 1).length === 1
) {
subAnswer = list.reduce((a, b) => a + b, 0);
} else {
subAnswer = list[0] * list[1] * list[2];
}
}
return subAnswer;
}
function numJudge(num) {
let subAnswer = 0;
const list = [];
let n = num;
//νμ리 μ«μμΌ κ²½μ°
if (num.toString().length === 1) {
subAnswer = num;
} else if (num.toString().length === 2) {
//λμ리 μ«μμΌ κ²½μ°
if (
Math.floor(num / 10) === 1 ||
num % 10 === 1 ||
num % 10 === 0
) {
subAnswer = Math.floor(num / 10) + (num % 10);
} else {
subAnswer = Math.floor(num / 10) * (num % 10);
}
} else {
//μΈμ리 μ«μμΌ κ²½μ° (κ° μλ¦Ώμλ₯Ό ν©νκ²κ³Ό κ³±νκ²μ λ°λ‘ λ³μμ μ μ₯ νμ¬ λΉκ΅)
let multi
let plus
for (let i = 2; i >= 0; i--) {
list[i] = n % 10;
n = Math.floor(n / 10);
}
plus = list.reduce((a,b)=>a+b,0)
multi = list[0]*list[1]*list[2]
if(multi>plus){
subAnswer = multi
}else{
subAnswer = plus
}
}
return subAnswer;
}
κ°λ¨νκ² νλμ λ³μλ₯Ό μ μΈνμ¬, κ° μ리 μ«μλ₯Ό λν κ°κ³Ό κ³±νκ°μ λΉκ΅νλ κ²μ΄ λμ± νλͺ ν λ°©λ²μ΄μλ€.