숫자인 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 => { let reverse = parseFloat(num.toString().split('').reverse().join('')) * Math.sign(num) if (num > 0) { return true; } else if (num === 0) { return false; } return false; } module.exports = { sameReverse };
num.toString()은 주어진 숫자를 문자열로 변환한다.
split`다음에 함수를 사용할 수 있도록 이 작업을 수행한다.
let num = -5432100 num.toString() //num = '-5432100'
▪️ 문자열을 배열로 분할
num.split('')
문자열을 문자 배열로 변환한다. Array reverse 함수(String에서는 작동하지 않음)를 사용할 수 있도록 이 작업을 수행한다.
//num = '-5432100' num.split('') //num = ['-', '5', '4', '3', '2', '1', '0', '0']
▪️ 배열 반전
num.reverse()
배열의 항목 순서를 반대로 한다.
//num = ['-', '5', '4', '3', '2', '1', '0', '0'] num.reverse() //num = ['0', '0', '1', '2', '3', '4', '5, '-']
▪️ 다시 문자열로 결합
num.join('')
반전된 문자를 문자열로 재조립한다.
//num = ['0', '0', '1', '2', '3', '4', '5', '-'] num.join('') //num = '0012345-'
▪️ 입력 값을 부동 소수점 문자로 구문 분석
parseFloat(num) num
String에서 float로 변환한다.
//num = '0012345-'
parseFloat(num)
//num = 12345
▪️ 참고:parseFloat
(함수의 첫 번째 줄에 있더라도) 반전된 숫자로 끝에서 실행되고 선행 0을 제거한다
▪️ 음수 값을 유지하려면 원래 숫자의 부호를 곱하시오
num * Math.sign(num)
숫자에 제공된 원래 숫자의 부호를 곱한다.
//original value of num = -5432100 // num = 12345 num * math.sign(-5432100) //num = -12345