반응형
1. 문제
- 정수 num이 주어질 때, num이 짝수면 2로 나누고 홀수면 1을 빼준다.
- 이 과정을 0이 될 때 까지 반복해서 몇 번 수행하는지 결과값을 반환한다.
2. 해결
function numberOfSteps(num: number): number {
let step = 0;
while(num > 0) {
if(num % 2 === 0) {
num /=2;
} else {
num -=1;
}
step++;
}
return step;
};
- 그냥 반복 돌면서 조건에 맞게 연산 수행 후, step을 증가시키면 된다.