const searchReverse = num => {
let a =[...String(num)].reverse().join('');
return (num == a ? true : false);
}
searchReverse('123') //false 뒤집은 모양이 321 이기 때문
searchReverse('12321') //true 뒤집은 모양이 12321 이기 때문
searchReverse('-11') //false 뒤집은 모양이 11- 이기 때문
searchReverse('10') //false 뒤집은 모양이 01 이기 때문
뒤집은 모양이 num과 같은지 확인하기 위해서는 인자로 들어원 num
을 string형태로 뒤집은 것을 변수로 두어 원래 들어왔던 num
과 비교를 해야겠다. 그리고, 요소의 순서를 바꾸는 reverse메소드를 사용하기 위해서 배열을 만들어야겠다. 그리고 다시 한 번 string형태로 바꿔줘야겠다.
그런 후num
과 string형태의 변수와 같은지 조건문을 새워 알고리즘을 풀어내겠다!!
✅let a =[...String(num)].reverse().join('');
String(num)]
👉 '-121'
[...String(num)]
👉 [ '-', '1', '2', '1' ]
[...String(num)].reverse()
👉 [ '1', '2', '1', '-' ]
[...String(num)].reverse().join('')
👉 '121-'
✅return (num == a ? true : false);
num == a
👉 -121
과 '121-'
을 동등한지 판단
? true
👉 조건이true
이면 ? true
를 return.
: false
👉 조건이false
이면 ? false
를 return
처음에는 return값으로 (num === a ? true : false);
을 주었다.
지금 변수 a
값의 타입은 스트링 타입은 string타입으로 들어오게 되는데 num은 number형태로 들어오게 되므로 비교연산자를 ===로 지정한 경우는 타입까지 확인하게 되므로 비교연산자를 ==로 하여 true false값을 구할 수 있었다!
비교연산자 더 알아보기(클릭)
✔️ [ES6] Spread Operator(전개 구문) 사용 대신split() 메서드도 사용할 수 있다
✔️ String(num): 문자열생성
✔️ reverse(): 배열의 요소를 반전
✔️ join(''): 배열의 모든 요소를 결합하여 하나의 문자열로 만듬