Algorithm
[LeetCode/Swift] 1342. Number of Steps to Reduce a Number to Zero
개발자 수니
2024. 1. 17. 15:18
728x90
반응형
💡 문제 (Easy)
Given an integer 'num', return the number of steps to reduce it to zero.
In one step, if the current number is even, you have to divide it by '2', otherwise, you have to subtract '1' from it.
주어진 정수 'num'이 있을 때, 이를 0으로 줄이기 위한 단계 수를 반환합니다.
한 번의 단계에서, 현재 숫자가 짝수인 경우에는 '2'로 나누어야 하며, 홀수인 경우에는 '1'을 빼야 합니다.
Example 1:
Input: num = 14
Output: 6
Explanation:
Step 1) 14 is even; divide by 2 and obtain 7.
Step 2) 7 is odd; subtract 1 and obtain 6.
Step 3) 6 is even; divide by 2 and obtain 3.
Step 4) 3 is odd; subtract 1 and obtain 2.
Step 5) 2 is even; divide by 2 and obtain 1.
Step 6) 1 is odd; subtract 1 and obtain 0.
Example 2:
Input: num = 8
Output: 4
Explanation:
Step 1) 8 is even; divide by 2 and obtain 4.
Step 2) 4 is even; divide by 2 and obtain 2.
Step 3) 2 is even; divide by 2 and obtain 1.
Step 4) 1 is odd; subtract 1 and obtain 0.
Example 3:
Input: num = 123
Output: 12
Constraints:
- 0 <= num <= 106
👩🏻💻 해결
1차 반복문 사용
class Solution {
func numberOfSteps(_ num: Int) -> Int {
var n: Int = num
var cnt: Int = 0
while n != 0 {
n = n % 2 == 0 ? n / 2 : n - 1
cnt += 1
}
return cnt
}
}
728x90
반응형