미소를뿌리는감자의 코딩
[leetcode] 80. Remove Duplicates from Sorted Array 2 본문
728x90
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
'코딩 테스트 > leetcode' 카테고리의 다른 글
[leetcode 2024/02/27] 198. House Robber (1) | 2024.02.27 |
---|---|
[leetcode 2024/02/27] 70. Climbing Stairs (1) | 2024.02.27 |
[leetcode 2024/02/27] 53. Maximum Subarray (0) | 2024.02.27 |
[leetcode 2024/02/26] 787. Cheapest Flights Within K stops (1) | 2024.02.26 |
[leetcode 2024/02/26] 743. Network Delay Time (0) | 2024.02.26 |