CodeKata(W1D4)_뒤집어서 비교

최진우·2022년 9월 1일
0

<문제>
숫자인 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 이기 때문

어제보다는 문제가 훨~씬 풀기 수월했다.
짝꿍님과 같이 잠깐 고민해 본 결과,
일단 뒤집은 결과를 비교해야되기 때문에 reverse 메소드를 사용하기로 했다.

그 이후 정리한 내용들은 아래와 같다.

  1. 인자를 문자열로 변환 후, 배열로 변환
  2. 배열의 첫 문자열이 '-' 일 경우 음수이므로 false 반환
  3. 음수가 아닌 경우 변환한 배열을 뒤집어서 뒤집기 전과 비교해서 동일하면 true 반환

구현한 코드는 아래와 같다.

const sameReverse = num => {
  let nums = Array.from(num.toString());
  if (nums[0] === '-') {
   return false;
 } else if (nums.reverse() === nums) {
   return true;
 }
}

생각보다 간단하게 풀긴했지만, 문제를 읽었을 때 해결 방법과 그 방법에 활용해야 하는 메소드가 바로 떠오르려면 아직 멀었다고 느꼈다..

profile
함께하고 싶은 백엔드 개발자

0개의 댓글