연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
양의 정수 a
와 b
가 주어졌을 때, a
⊕ b
와 b
⊕ a
중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a
⊕ b
와 b
⊕ a
가 같다면 a
⊕ b
를 return 합니다.
a
, b
< 10,000a | 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 합니다.const solution = (a, b) => {
const strA = String(a);
const strB = String(b);
return +(strA + strB) > +(strB + strA) ? +(strA + strB) : +(strB + strA);
}
/*
처음 작성한 코드이다.
1. strA와 strB의 변수는 각 a, b를 string으로 변환해준 값으로 초기화해준다.
2. 삼항 연산자를 사용하여 더 큰값을 리턴해준다.
*/
const solution = (a, b) => Math.max(Number(`${a}${b}`), Number(`${b}${a}`));
/*
문자열 템플릿을 사용하여 조금 더 간단하게 작성해보았다.
1. Math.max를 사용하해서 문자열을 더한값중 더 큰값을 리턴해준다.
*/
const solution = (a, b) => {
let num1 = parseInt(""+a+b);
let num2 = parseInt(""+b+a);
return num1 >= num2 ? num1 : num2;
}
/*
1. parseInt를 사용하여 num1과 num2의 변수에 a, b를 string으로 만들어서 더한 값으로 초기화 해준다.
2. 삼항연산자를 사용해서 num1와 num2의 크기를 비교하여 더 큰값을 리턴해준다.
*/