Code kata_day4

🙋🏻‍♀️·2022년 5월 12일
0

wecode

목록 보기
29/40

숫자인 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




0개의 댓글