[LeetCode] Make Array Zero by Subtracting Equal Amounts

아르당·2026년 9월 1일

LeetCode

목록 보기
501/561
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

양의 정수 배열 nums가 주어진다. 한 번의 작업으로, 다음을 해야한다.

  • 양의 정수 x를 선택해라. x는 nums에서 0이 아닌 가장 작은 원소보다 작거나 같다.
  • nums의 모든 양수 원소에서 x를 빼라.

nums의 모든 원소를 0으로 만드는 데 필요한 최소 연산 횟수를 반환해라.

Example

#1
Input: nums = [1, 5, 0, 3, 5]
Output: 3
Explanation:
첫 번째 연산에서, x = 1을 선택해라. 현재, nums = [0, 4, 0, 2, 4]이다.
두 번째 연산에서, x = 2를 선택해라. 현재, nums = [0, 2, 0, 0, 2]이다.
세 번째 연산에서, x = 2를 선택해라. 현재, nums = [0, 0, 0, 0, 0]이다.

#2
Input: nums = [0]
Output: 0
Explanation: nums의 각 원소가 이미 0이라서 연산이 필요없다.

Constraints

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100

Solved

class Solution {
    public int minimumOperations(int[] nums) {
        Set<Integer> s = new HashSet<>();

        for(int num : nums) {
            if(num != 0){
                s.add(num);
            }
        }

        return s.size();
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글