본문 바로가기

Algorithm

[leetcode] 1342. Number of Steps to Reduce a Number to Zero

문제해석

num이 주어졌을 때, 특정 작업을 반복해서 num이 0이하일 때 몇번의 반복인지 반환

각 작업은 num이 2로 나누어 떨어지는경우(짝수) 2로 나누거나, 그 외에 2로 나누어지지 않는 경우(홀수)는 1을 뺀다.

 

답 예

public int numberOfSteps(int num) {
    int step = 0;
    while (num > 0) {
        if (num % 2 == 0) {
            num = num /2;
        } else {
            num = num -1;
        }
        step++;
    }
    return step;
}