반응형
https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/
1. 2022.04.16 시도
소요시간: 11분
class Solution {
public int removeDuplicates(int[] nums) {
int prev = 0;
int counter = 1;
for (int i=1; i<nums.length; i++) {
if (nums[prev] == nums[i]) {
counter++;
if (counter >2) {
continue;
}
} else {
counter=1;
}
prev++;
nums[prev] = nums[i];
}
return prev+1;
}
}
풀이 접근 과정
1탄하고 거의 비슷한 원리다.
다만 2번이라는 최대치가 있으니 그걸 어떻게 처리할지에 대한 로직만 조금 추가해주면 된다.
prev에는 마지막 저장된 인덱스를 저장하고, i로 전체를 순회하면서 데이터를 업데이트 해준다.
그리고 마지막에는 개수를 리턴해야하므로 마지막 prev인덱스에 +1을 해준다.
느낀점
- 처음부터 이 문제를 만났다면 나도 쉽게 접근할 수 있었을까 싶지만 1탄을 하고나서는 개념이 잡혀서 오히려 쉽게 접근해서 풀 수 있었던거 같다.
알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)
반응형
'알고리즘 풀이' 카테고리의 다른 글
.leetcode(941. Valid Mountain Array) (0) | 2022.04.23 |
---|---|
.leetcode(1346. Check If N and Its Double Exist) (0) | 2022.04.23 |
.leetcode(88. Merge Sorted Array) (0) | 2022.04.16 |
.leetcode(1089. Duplicate Zeros) (0) | 2022.04.16 |
.leetcode(1295. Find Numbers with Even Number of Digits) (0) | 2022.04.16 |