연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다.
예를 들면 다음과 같습니다.
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
1 ≤ a, b < 10,000
| a | b | result | 
|---|---|---|
| 9 | 91 | 991 | 
| 89 | 8 | 898 | 
입출력 예 설명
입출력 예 #1
a ⊕ b = 991 이고, b ⊕ a = 919 입니다. 둘 중 더 큰 값은 991 이므로 991을 return 합니다.
입출력 예 #2
a ⊕ b = 898 이고, b ⊕ a = 889 입니다. 둘 중 더 큰 값은 898 이므로 898을 return 합니다.
function solution(a, b) {
    const num1 = Number(`${a}${b}`)
    const num2 = Number(`${b}${a}`)
    
    if(num1 < num2){
        return num2        
    }else if(num1 === num2){
        return num1
    }else{
        return num1
    }    
}
function solution(a, b) {
    return Math.max(Number(`${a}${b}`), Number(`${b}${a}`))
}
Math.max() 메서드를 사용해 최대 값을 구하는 코드로 작성하셨다.
9줄 나온 코드를 1줄로 풀어서 가지고 왔다.
NaN로 반환)-Infinity기본 문법
Math.max(값0, 값1, ... , 값N)Math.max(1, 3, 2)//3 Math.max(1, 3, 2, 5, 8)//8 Math.max(-1, -5, -3)//-1
Infinity?
- 전역 속성은 무한대를 나타내는 숫자 값
 - 전역 객체의 속성(전역 범위의 변수)
 console.log(Infinity); /* Infinity */ console.log(Infinity + 1); /* Infinity */ console.log(Math.pow(10,1000)); /* Infinity */ console.log(Math.log(0)); /* -Infinity */ console.log(1 / Infinity); /* 0 */ console.log(1 / 0); /* Infinity */
메서드를 많이 알고 있으면 있을 수록 알고리즘을 좀 더 간단하게
코드를 줄여서 풀 수 있다.
까먹을 때 마다 찾아서 사용할 수 있도록 기록하자.
참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/max
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Infinity