Code kata ) string에서 숫자/문자만 추출 & 뒤집어서 배열

개발자 우니·2020년 7월 7일
0

reverse 함수에 정수인 x를 받을 때, 그 숫자를 뒤집어서 return 해보자!

  • 정수인 x 를 받는다는 것
  • 정수로 return 해야하므로 reverse 했을 때 첫자리가 0이면 0은 사라진다
    ex) x: 12340 이면 return 값은 4321
  • 특수문자 or - (음수값)이 있는 경우 음수는 그대로 return
    ex) x: -1234 면 return 값은 -4321

<알아두면 좋은 코드>

숫자만 추출

str.replace(/[^0-9]/gi, "")

문자만 추출

str.replace(/[1-9]/g, "")

아래는 내가 한 방법

  1. 정수 x 를 string으로 바꾼다
  2. 특수문자/ 음수 (-)를 추출한다
  3. 숫자만 추출한다
  4. 숫자만 reverse
    (** reverse는 array에 적용되므로 str.split("").reverse()해준후에 다시 합치기 위해 join("") )
  5. 결과는 특수문자 / (-) + 뒤집어서 배열된 숫자
  6. 아직 string 상태니까 0이 첫자리에 존재할 수 있으므로 그걸 없애주기 위해 정수값으로 바꿔준다 (parseInt())

예시) x: -1234 일 때

다른 방법

x가 음수인 경우, -1을 곱해서 양수값으로 만들고
string으로 바꿔준 다음
문자열의 마지막자리부터 거꾸로 for문을 돌면서 빈 string '' 에 넣어준다
결과값이 음수면(true) -1을 곱해주고 아니라면(false) 그대로 '숫자로' 출력

profile
It’s now or never

0개의 댓글