미소를뿌리는감자의 코딩

[leetcode] 80. Remove Duplicates from Sorted Array 2 본문

코딩 테스트/leetcode

[leetcode] 80. Remove Duplicates from Sorted Array 2

미뿌감 2024. 6. 20. 20:17
728x90

https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/description/?envType=study-plan-v2&envId=top-interview-150

 

1. 접근 방법

 

기존의 숫자를 저장해 두고 해당 숫자 반복 횟수가 2번을 넘어가면 해당 index를 pop_list에 저장해두고 

뒤에서부터 pop 해주는 식으로 코드를 작성했다.

 

뒤에서부터 pop을 해주는 이유는 앞에서 pop을 하게 되면 숫자들이 땡겨져 실제 pop을 해야하는 숫자와 달라지기 때문이다.

 

2. 코드

def removeDuplicates(nums):
    before_cnt = 0
    before_n = nums[0]
    pop_list = []
    for i in range(1, len(nums), 1):
        if nums[i] == before_n:
            before_cnt += 1
            if before_cnt >= 2:
                pop_list.append(i)
                continue
        else:
            before_cnt = 0
            before_n = nums[i]

    for i in range(len(pop_list) - 1, -1, -1):
        nums.pop(pop_list[i])

 

* 정석적인 코드 더 알아보기

 

728x90