Codetaka <1week 2day>

정재성·2022년 5월 10일
0
post-thumbnail

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

x: 숫자 return: 뒤집어진 숫자를 반환!
예들 들어, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321

<나의 접근 방법>

1.숫자는 뒤집을수 없다 문자로 전환시킨다
const reverseNumber = x.toString()
2.문자열의 각 요소를 분리하여 하나의 배열로 만든다.
const reverseNumber = x.toString().split('')
3.만들어진 배열을 뒤집는다.
const reverseNumber = x.toString().split('').reverse()
4.만약 배열에 '-'가 들어간 경우 배열을 뒤집었을때 '-'가 맨 앞으로 가고
뒤에있는'-'는 빼준다
if(reverseNumber.includes('-')){
reverseNumber.pop() ///배열의 맨 끝의 요소를 빼주는 함수
reverseNumber.unshift('-') ///배열의 맨 앞에 추가해주는 함수
}
5.만약 맨앞 배열에 '0'이 있다면 삭제해준다.
else if(reverseNumber[0].includes('0'){
     reverseNumber.shift() ///배열의 맨 앞을 없애는 함수
6.배열을 뒤집어진 숫자로 리턴하여준다.
return reverseNumber.join('')   //배열의 모든 요소를 연결해 하나의 문자열로 만드는 함수
7.다시 숫자로 만든다
Number(reverse.join(''))

구현한 코드

const reverse = x => {
  const arr = x.toString().split('').reverse();

  if(arr.includes("-")){
    arr.pop()
    arr.unshift("-");
    
  }else if(arr[0].includes("0")){
    arr.shift()
  }
  return Number(arr.join(''));
}
console.log(reverse(-1233));

오늘의정리
.toString() = toString() 은 문자열을 반환하는 object의 대표적인 방법이다

.split() = split() 메서드는 String 객체를 지정한 구분자를 이용 하여 여러 개의 문자열로 나눕니다.

.pop()= pop() 메서드는 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다.

.join() = join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.

profile
기술블로그 / 일상블로그

0개의 댓글