TIL 83 l 알고리즘(숫자 반전 return)

YB.J·2021년 10월 19일
0
post-thumbnail

문제: reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x: 숫자 return: 뒤집어진 숫자를 반환!
예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321

나의 접근 방법

접근 순서

  • 구해야 하는 답 : 반전된 "숫자"
  • 필요한 로직
    • 숫자를 반전시켜주는 method > 못 찾았다
    • 배열의 요소를 반전시켜주는 method > 찾았다
    • 숫자를 문자열로 형변환 후, 문자열을 배열의 요소로 변환하여 나눠주는 method > split("")
    • 배열의 요소를 반전시켜주는 method > reverse()
    • 배열의 요소를 합쳐서 문자열로 변환해주는 method > join("")
    • 문자열을 숫자로 변경시켜주는 method > parseInt(), Number()

나의 코드

놓친 부분

  • test2, test4 fail > 놓친 부분을 재점검하였다
    x: -1234 return: -4321
    x: 1230 return: 321

  • 인자가 음수일 경우와, 0으로 끝나는 경우를 생각하지 않았다

다른 분의 문제풀이 방법

 const reverse = (x) => {
  let arr = x.toString().split("").reverse();
  
  if (arr.includes("-")) {
    arr.pop();
    arr.unshift("-");
  } 
  
  if(arr.includes("0")) {
    arr.shift();
  }
  
  return Number(arr.join(""));
}
  • 배열 제일 뒤에 마이너스(-)가 포함되어있으면, 제거해서 제일 앞에 붙여준다
 if (arr.includes("-")) {
    arr.pop();
    arr.unshift("-");
  }
  • 배열에 '0'이 포함되어있으면, 제일 뒤의 문자 하나를 제거한다
  if(arr.includes("0")) {
    arr.shift();
  }

출처 : https://velog.io/@lilyoh

profile
♪(^∇^*) 워-후!!(^∀^*)ノシ

0개의 댓글