Q . 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
예를 들어,
num = 123
return false
=> 뒤집은 모양이 321 이기 때문
num = 1221
return true
=> 뒤집은 모양이 1221 이기 때문
num = -121
return false
=> 뒤집은 모양이 121- 이기 때문
num = 10
return false
=> 뒤집은 모양이 01 이기 때문
A.
const sameReverse = num => {
const stringNum = num.toString();
return stringNum === stringNum.split('').reverse().join('');
}
console.log(sameReverse(1001));
module.exports = { sameReverse };
문제 해결 과정
1. 우선 -와 0을 처리해주기 위해 num을 string으로 타입을 변환했다
2. 그리고 for문으로 num[i]의 index 번호를 거꾸로 돌려서 그 값을 배열로 받으려고 했다
--> 바로 이 과정에서 문제가 발생했는데, for문으로 얻은 값 전체를 배열로 어떻게 받는지 계속 고민했다
array 관련된 함수를 되게 많이 찾아보았는데도 어떻게 진행해야 할지 몰랐다
시간만 계속 가길래 구글의 힘을 빌려서 힌트를 얻으려고 했다가, 답이 너무 짧은 나머지 모든 답을 봐버렸다;;
TIL
stringNum.split('') : 알파벳 하나씩 잘라서 보여준다
stringNum.reverse() : 문자를 거꾸로 보여준다
stringNum.join('') : split('')과 정확히 반대의 역할을 한다, 다시 알파벳을 단어로 합쳐서 보여준다
사실 reverse()를 통해 이렇게 간단하게 거꾸로 돌릴 수 있는지도 몰랐다
code kata를 하다보면 내가 너무 모르고 바보같다는 생각이 들긴 하지만 배우러 왔으니까!! 괜찮아라고 스스로 다짐하는 중이다
아무튼 앞으로는 더 잘할테니까 화이팅,,,!!
Resources