코테

두 수의 연산값 비교하기

콩쥐땃쥐 2024. 11. 29. 02:40

function solution(a, b) {
    return Number(`${a}${b}`) === (a*b*2) ? Number(`${a}${b}`) : Math.max(Number(`${a}${b}`), (a*b*2))
}

 

코드를 다 적고 제출까지 한 뒤에 "근데 둘 다 같은 거면 어떤 것을 반환해도 상관 없는 거 아냐?" 라는 말을 듣고 

처음에는 그래도 조건에 있으니까 넣는 게 좋지 않나? 하는 생각이 들었다.

그런데 다른 사람들의 코드를 보니 예외 처리를 한 사람이 없었고, 아 필요없는 거구나... 하는 생각이 들어서 코드를 아래와 같이 수정했다.......

function solution(a, b) {
    return Math.max(Number(`${a}${b}`), (a*b*2))
}

만약 코드를 간결하게 하고 싶다면 위처럼 작성하면 되고

깔끔한 코드를 원한다면

function solution(a, b) {
    let num1 = parseInt(a+""+b+"");
    let num2 = 2*a*b;
    return num1 > num2 ? num1 : num2;
}

위와 같이 작성하면 될 것 같다.