[TIL #26] Code Kata

안준현·2021년 4월 29일
0

Algorithm(CodeKata)

목록 보기
3/5

[문제]

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

[제출 코드]

const sameReverse = num => {
  const strNum = num.toString().split('').reverse().join('') * Math.sign(num);
  if (num === strNum){
    return true;
  }else {
    return false;
  }
}

이 문제는 2번째 문제랑 비슷하다. 풀이는 아래와 같다.

  1. 숫자로 들어온 인수를 문자로 변환 (num.to String())
  2. 문자를 배열로 변환 (split(''))
  3. 문자열을 거꾸로 변환 (revserse())
  4. 거꾸로된 문자열을 하나의 문자로 합치기 (join())
  5. Math.sign(num) (음수면 -1 을 양수면 1을) 을 곱하여 숫자로 만든다.
  6. if 문을 사용하여 numstrNum값 비교.

0개의 댓글