[Leetcode] 1342. Number of Steps to Reduce a Number to Zero (JS)

OROSY·2021년 4월 29일
0

Algorithms

목록 보기
11/38
post-thumbnail

출처

Leetcode 1342. Number of Steps to Reduce a Number to Zero

문제

나의 코드

while에 대해서 잘 몰랐는데 udemy 강의를 통해서 배웠던 게 이렇게 도움이 되는군요 훗

1
2
3
4
5
6
7
8
9
10
11
12
13
var numberOfSteps = function(num) {
    let steps = 0
    while(num !== 0) {
        if(num % 2 === 0) {
            num = num / 2
            steps++
        } else {
            num--
            steps++
        }
    }
    return steps
};
cs

다른 코드

더욱 간단하게 while(num)으로 정의해서 0이 되면, 루프가 끝나고 0은 boolean 데이터로 false가 반환되기 때문에 굳이 위와 같이 while !== 0라고 쓸 필요가 없다는 사실!

덧붙여서 num % 2 2로 나눈 값 또한 1, true가 반환되면, 결국 이 뜻은 홀수면 if문이 실행!

1
2
3
4
5
6
7
8
9
10
11
12
13
var numberOfSteps = function(num) {
    let steps = 0
    while(num) {
        if(num % 2) {
            num--
            steps++
        } else {
            num = num / 2
            steps++
        }
    }
    return steps
};
cs

실행 결과

profile
Life is a matter of a direction not a speed.

0개의 댓글