[TIL #15 WECODE] Code Kata

Whoyoung90·2021년 3월 3일
post-thumbnail

210303 WECODE #15 Code Kata

문제

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

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

예들 들어,
x: 1234
return: 4321

x: -1234
return: -4321

x: 1230
return: 321

나의 답변

<script>
const reverse = x => {
  let str = String(x); // '-1234'
  let arr = str.split(""); // [ '-', '1', '2', '3', '4' ]
  let newArr = [];

  if(arr.includes('-')){
    for(let i=arr.length-1; i>=1; i--){
      newArr.push(arr[i]);
    }
    newArr.unshift('-'); // [ '-', '4', '3', '2', '1' ]
    }
   else{
     for(let i=arr.length-1; i>=0; i--){
       newArr.push(arr[i]);
       }
    }
   let test = newArr.join('') // '-4321'
   return Number(test); // -4321
}
</script>
  • 변수 x에 숫자가 들어오면 String(x)로 일단 문자화 시켜준다. =>'-1234'
  • split("") : 긴 텍스트를 특정한 구분 문자를 사용하여 배열로 만드는 것 ['-', '1', '2', '3', '4']
  • let newArr = []; 새로받을 배열을 생성해주고 for문은 역순으로 돌린다! (숫자가 역으로 반환되야하니까)
  • if조건이 둘로 나뉜다! includes('-')를 포함하면 그 -인자를 제외한 i=1부터 for문을 돌리고 정수를 push()함수로 하나씩 채운다.

    -를 포함하지 않으면 i=0부터 그대로 돌리면 된다!
  • 그런 다음 for문이 끝났을때 무시했던 "-"인자를 unshift()로 맨앞에 붙여준다. [ '-', '4', '3', '2', '1' ]
  • join() : 배열을 문자열로 변환하기 '-4321'
  • Number() : 숫자화 -4321
profile
비전공으로 일식 쉐프가 되었듯, 배움에 겸손한 프론트엔드 개발자가 되겠습니다 :)

0개의 댓글