코테
더 크게 합치기
콩쥐땃쥐
2024. 11. 29. 02:17
function solution(a, b) {
let ab = Math.floor((a.toString()+b.toString()));
let ba = Math.floor((b.toString()+a.toString()));
return ab > ba ? ab : ba;
}
원래 한 줄로 했으나... 코드가 너무 더러워서 변수로 간략하게 줄였다.
toString()으로 문자열로 변환 후 합친 뒤 Math.floor로 다시 정수로 만들었다.
다른 분들의 코드를 보니 Math.max와 Number을 많이 사용하던데
function solution(a, b) {
return Math.max(Number(`${a}${b}`), Number(`${b}${a}`))
}
Math.max()는 매개변수로 주어진 숫자 중 가장 큰 수를 반환하거나, 매개변수가 없을 경우 Infinity를 반환한다고 한다.
즉 Math.max를 통해 굳이 삼항연산자가 아니어도 큰 수를 반환하게끔 했다는 것.
더보기
Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20
Number은 Math.floor와 같이 Number(value) 함수로 사용하면 문자열이나 다른 값을 Number타입으로 변환한다.
만약 인수를 숫자로 변환할 수 없으면 NaN을 리턴한다.