연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.
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 합니다.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의 크기를 비교하여 더 큰값을 리턴해준다.
*/