[JavaScript] 숫자인 인자를 뒤집은 모양이 num과 똑같은지 여부를 반환

2022. 10. 7. 20:34CodingTest/JavaScript Q

(문제)

  1. 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
  2. num: 숫자 return: true or false (뒤집은 모양이 num와 똑같은지 여부)
  3. 예를 들어, num = 123 return false => 뒤집은 모양이 321 이기 때문
  4. num = 1221 return true => 뒤집은 모양이 1221 이기 때문
  5. num = -121 return false => 뒤집은 모양이 121- 이기 때문
  6. num = 10 return false => 뒤집은 모양이 01 이기 때문

(정답1)

 

const sameReverse = num => {
  let str = num.toString()
  let strN = ""
  for (let i = str.length - 1; i >= 0; i--) {
    strN += str[i]
  }  
  if (str === strN) {
    return true 
  } else {
    return false
  }
}
console.log(sameReverse(-1234))     // false
console.log(sameReverse(1001))      // true
  1. 정수(양의정수, 음의정수) 인 숫자가 음수 일 경우가 있어 toString()으로 num 값을 변경해주고
  2. 빈 값의 변수를 하나 선언해줍니다
  3. 반복문을 뒤집어진 숫자로 반환 해야되므로 반복문을 끝에서 앞으로 실행해주고 
  4. 반복문을 통해 나온 값을 strN 변수에 추가 해줍니다
  5. str === strN 뒤집은 값이 동일 할 경우 true, 다른경우 false를 반환 합니다

(정답2) 

const sameReverse = num => {
  return Number(num.toString().split('').reverse().join('')) === num
}
console.log(sameReverse(1221))     // true
  1. num을 toString() 메서드를 사용해  문자열로 변환하고 
  2. split('') 메서드를 사용해 문자로 분리하고
  3. reverse() 메서드를 사용해 문자를 뒤집고
  4. join('') 메서드를 사용해 따옴표를 지우고
  5. 마지막으로 Number() 메서드로 숫자로 변환하고
  6. 그리고 num과 비교하여 true & false를 반환한다