210617 TIL

With·2021년 6월 17일
0

오늘 한 것

숫자 뒤집기

while (x) {
      let o = x % 10;
      res = res * 10 + o;
      x = parseInt(x / 10);
    }

이 반복문이 끝나면, 1개의 숫자가 리버스 된다.
예 : 208 ⇢ 802

원리는 간단하다.
"모든 숫자는 10으로 나누었을 때, 나머지가 1의 자리" 임을 이용한다.

let o = x % 10; 을 하면 이 숫자의 일의 자리를 알 수 있고,
이것을 res에 += 한다.

그리고 몫을 구하고 (x = parseInt(x / 10) 이것을 다시 x에 대입해서
1의 자리를 구한다.

이것을 계속반복해서 몫(x)이 0이되면 while이 종료된다.
종료되는 이유는 0은 falsy 값이기 때문이다.

0이 "falsy" 라는 것을 이용해, break를 굳이 사용하지 않고 있다.


자바스크립트의 내장함수를 이용하면 더 간단하게 할 수 있다.

let x = Number(x.toString().split("").reverse().join())

한줄에 끝난다.
x를 문자로 형변환하고, 그리고 각각의 그것을 배열로 다시 형변환한다.
그리고 그 배열을 reverse(배열의 순서가 변경)하고, join(배열의 모든 요소를 붙여러 문자열로 반환)한다. 그리고 이것을 다시 숫자로 형변환해주면 된다.

profile
주니어 프론트엔드 개발자 입니다.

0개의 댓글