[문제풀이] 숫자 뒤집기 / TIL # 40

3643 단어 문제풀이TILTIL

Code Kata

문제

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

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

예:
x: 1234
return: 4321

x: -1234
return: -4321

x: 1230
return: 321

내 풀이

const reverse = x => x < 0 ? -Number((Array.from(x.toString().replace('-',''))).reverse().join(''))
 : Number((Array.from(x.toString().replace('-',''))).reverse().join(''));
  • 받은 숫자 값을 reverse 시키기 위해 Array 메서드인 reverse를 사용하기로 생각
  • Array.from()을 통해 string type으로 변환한 x를 배열로 다시 변환
  • reverse
  • join()으로 다시 합치기
  • Number()로 정수로 다시 변환
  • but. 음수일 경우 앞에 -가 붙는 걸 캐치하지 못하여 replace()를 통해-를 없앤 후 값이 음수이면 최종 값에 -를 붙이는 걸로 양수, 음수 분할
  • string.split()를 통해 문자열을 나누어 array로 변환하는 방법도 있었다
  • 변수에 최종 값을 넣고 -를 붙이는 식으로 하는게 가독성에 도움이 될 것 같다 (implicit return을 이용하고 싶은 마음에..)

좋은 웹페이지 즐겨찾기