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 |