Codekata | 02

camille·2022년 5월 29일
0

Codekata

목록 보기
2/3
post-thumbnail

문제

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

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

예들 들어, x: 1234 return: 4321

x: -1234 return: -4321

x: 1230 return: 321

nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열

💡 Answer1

const reverse = x => {
  if (x >= 0) {
    return Number(x.toString().split("").reverse().join(""));
  } else {
    let originNum = Math.abs(x);
    return Number(originNum.toString().split("").reverse().join("")) * -1;
  }
}

console.log(reverse(-1234));

인자로 전달 받은 x >= 0이면 x를 문자열로 형변환해서,
splite("")메서드로 조개면 배열로 반환이 된다. 그다음에 reverse() 메서드로 요소의 순서를 반전시킨 다음에 join("")이라는 메서드로 합쳐준다. 그 뒤에 숫자로 다시 형변환 시켜서 return해준뒤에 이렇게 전달받은 x < 0가 되면 x를 절대값으로 변환 후 -1곱한 수를 반환해주도록 한다.


💡 Answer2

const reverse = x => {
  let resultNum = parseInt(x.toString().split("").reverse().join(""));
  return x >= 0 ? resultNum : -resultNum;
}

console.log(reverse(-1234));

returnNum 이라는 변수를 선언하고 인자로 전달받은 x를 문자열로 형변환 하여, split("")메서드로 쪼개서 반환시킨후 reverse메서드로 요소의 순서를 좌우로 반전해준 뒤에 join("")메서드로 공백없이 합친 다음에 parseInt문자열인 숫자를 10진법숫자로 변환해준 다음 resultNum에 할당시키고 삼항 연산자를 통해서 반환한뒤 x >= 0이면 resultNum 그대로, 아니면 -resultNum을 반환해주도록한다.

0개의 댓글