class Solution {
public int removeDuplicates(int[] nums) {
int index = 0;
for(int num: nums) {
if (index < 1 || num > nums[index - 1]) {
nums[index] = num;
index++;
}
}
return index;
}
}
Set, List 써서 푸는 풀이
/**
Set으로 nums를 하나씩 체크
이후 nums에 앞에서부터 Set에 있는 elements를 하나씩 넣어주기
다만 Set의 경우 입력한 순서를 보장하고 있지 않기 때문에 List로 정렬을 해야함
*/
import java.util.*;
class Solution {
public int removeDuplicates(int[] nums) {
Set<Integer> set = new HashSet<>();
for(int num: nums) {
set.add(num);
}
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);
int index = 0;
for(int num: list) {
nums[index++] = num;
}
return index;
}
}
'코딩테스트' 카테고리의 다른 글
[leetcode] 1657. Determine if Two Strings Are Close (0) | 2024.08.24 |
---|---|
[leetcode] 80. Remove Duplicates from Sorted Array II (0) | 2024.08.03 |
[leetcode] Find the Index of the First Occurrence in a String (0) | 2024.08.01 |
[leetcode] 14. Longest Common Prefix (0) | 2024.08.01 |
[leetcode] 189. Rotate Array (0) | 2024.07.27 |