Code Kata_1

eunmi·2020년 2월 11일
0

Code Kata

목록 보기
1/1

오늘의 코드카타,

문제는 reverse 함수에 정수인 숫자를 인자로 받고, 그 숫자를 뒤집어서 return 하기!
x : 숫자
return : 뒤집어진 숫자를 반환

ex)

x : 1234
return : 4321

x : -1234
return : -4321

x : 1230
return : 321

여기서 먼저 해결해야 될 문제는 숫자를 문자로 변환해야 하는 것!

var a = x.toString();
var a = [x] + '';

이런 방법으로 x를 문자로 바꿔줄 수 있다.
둘 중 아무거나 사용해도 상관없다.

var result = "";

그러고 나선 빈 문자열을 변수로 만들어 줘야 한다. 그 빈 문자열에 뒤집어진 숫자를 반환해야 하기 때문이다.

for문으로 문자열을 돌려야 하는데,

for(let i = a.length - 1; i >= 0; i--) {
    console.log(a[i]);
    result += a[i];
  }

반대로 나열을 해야 하니까, i를 a.length-1을 해준다.
그 이유는 a = "1,2,3,4" 라고 가정을 하면,
a.length = 4이지만 index는 0부터 시작하기 때문에 -1을 해준다!
i가 0보다 크거나 같고, i가 1씩 -되게 한다.
안에 조건은 result는 빈 배열("") + a[i] 로 해줬다.

return parseInt(result) * Math.sign(a);

for문을 벗어나서 return값은 result를 다시 숫자로 변환해주고 (parseInt(result))
Math.sign(a)를 곱해줬다. 여기서 Math.sign() 함수는 어떤 수의 부호를 반환한다.
-를 같이 반환해주기 위해서 사용했다.

0개의 댓글