LeetCode in Kotlin

2169. Count Operations to Obtain Zero

Easy

You are given two non-negative integers num1 and num2.

In one operation, if num1 >= num2, you must subtract num2 from num1, otherwise subtract num1 from num2.

Return the number of operations required to make either num1 = 0 or num2 = 0.

Example 1:

Input: num1 = 2, num2 = 3

Output: 3

Explanation:

Now num1 = 0 and num2 = 1. Since num1 == 0, we do not need to perform any further operations.

So the total number of operations required is 3.

Example 2:

Input: num1 = 10, num2 = 10

Output: 1

Explanation:

Now num1 = 0 and num2 = 10. Since num1 == 0, we are done.

So the total number of operations required is 1.

Constraints:

Solution

@Suppress("NAME_SHADOWING")
class Solution {
    fun countOperations(num1: Int, num2: Int): Int {
        var num1 = num1
        var num2 = num2
        var ans = 0
        while (num1 * num2 != 0) {
            if (num1 >= num2) {
                ans += num1 / num2
                num1 = num1 % num2
            } else {
                ans += num2 / num1
                num2 = num2 % num1
            }
        }
        return ans
    }
}