TIL 11 | JavaScript reverse 함수 문제

JavaScript 문제가 갈수록 어려워지고 있다.. 개발자로 입문한지 얼마 안 된 나에겐 매일이 도전이다. 오늘 문제는 그래도 로직대로 구현을 하다보니 문제가 잘 풀렸다. 아래에 다시 구현해보고자 한다.


Replit 문제

reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.

x: 숫자 return: 뒤집어진 숫자를 반환!

예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321

문제 해석

  • 우선 받는 숫자 인자를 뒤집어야 한다.
  • 만약 숫자가 음수면 뒤집었을 경우 마이너스 기호가 제일 뒤에 오게 됨으로 제일 앞으로 빼줘야 한다.

const reverse = x => {
  
  let string = x.toString().split('').reverse()

  if (string[string.length-1] === '-') {
    string.unshift('-')
    string.pop()
  }

  let result = string.join('')
  
  return parseInt(result)
}

문제 풀이

  • 뒤집고 작업하기 편하게 숫자 인자를 string으로 변환시켜줬다.
  • split을 사용하여 최소단위로 쪼개어 배열로 나열시켰다.
  • reverse를 사용하여 배열을 반대로 뒤집었다.
  • 조건문을 활용하여 만약 음수일 경우 제일 뒤에 음수 기호가 있을테니, 제일 뒤에 음수 기호를 pop을 이용해 삭제하고 unshift로 제일 앞에 배치했다.
  • 그리고 join을 사용해 배열로 된 거를 하나의 string으로 합쳤다.
  • 마지막으로 숫자를 반환해야 함으로 결과를 parseInt로 숫자로 변경해줬다.

좋은 웹페이지 즐겨찾기