[codekata]Week1_Day4

문제

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


풀이

  1. 인자로 받은 num을 반전한 값을 변수 reverse에 저장
  2. num이 음수인 경우 '-'때문에 무조건 false이므로 양수인 경우에만 num과 reverse 비교(같으면 true/다르면 false 반환)
const sameReverse = num => {
  let reverse = parseFloat(num.toString().split(' ').reverse().join(' '));
  if (num > 0) {
    if (num === reverse) {
      return true;
    } else 
    return false;
  } 
  return false;
}


☑️ 기억할 것

숫자 뒤집기 => parseFloat(num.toString().split(' ').reverse().join(' '));

  1. .toString() 숫자를 문자열로 변환
  2. .split(' ') 문자열을 각각의 문자들로 나눔
  3. .reverse() 문자들의 위치 반전
  4. join(' ') 따로따로인 문자들을 하나의 문자열로 다시 붙여줌
  5. parseFloat() 문자열을 실수로 변환