글 작성자: 개발자 올라프

문제

 

숫자 num을 인자로 넘기면, 뒤집은 모양이 num과 똑같은지 여부를 반환한다.

 

  1. return은 true or false (뒤집은 모양이 num과 똑같은가?)
  2. num = 123일 경우, return은 false (뒤집은 모양이 321 이기 때문)
  3. num = 1221일 경우, return은 true (뒤집은 모양이 1221이기 때문)
  4. num= -121일 경우, return은 false (뒤집은 모양이 121-이기 때문)
  5. num = 10일 경우, return은 false (뒤집은 모양이 01이기 때문)

 

풀이

const sameReverse = num => {
  const nums = parseInt(num.toString().split('').reverse().join(''));
  
  return (nums === num) ? true : false;
}

2일차 코드카타 문제가 숫자를 뒤집어서 반환하는 것이었는데 거의 똑같은 문제였기 때문에 금방 풀 수 있었다. 그래서 다른 방법으로 숫자를 뒤집는 방법은 없을까 고민했다.

 

if(num<0) num = -num;

let numArr = num.toString().split('');
let numLength = numArr.length;
let arr = [];

for(let i=0; i<numLength; i++) {
	arr.push(numArr.pop());
}

let result = arr.join('');
console.log(result);

문자열로 바꾸고 배열로 만드는 과정까지는 비슷하지만 push와 pop을 사용해서 숫자를 뒤집을 수 있었다.