문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
양의 정수 배열 nums가 주어진다. 한 번의 작업으로, 다음을 해야한다.
nums의 모든 원소를 0으로 만드는 데 필요한 최소 연산 횟수를 반환해라.
#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이라서 연산이 필요없다.
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();
}
}