LeetCode[ Easy | Python ] Remove Duplicates from Sorted Array
업데이트:
링크
풀이
제목과 같이 주어진 정렬된 배열 nums
에서 중복된 요소를 제거하여 유일 값들을 남겨야하는 문제.
값을 찾는 비용을 줄이기 위해 dictionary를 사용했다.
- pop 연산을 통해 값을 하나씩 추출한다.
- 딕셔너리에 현재 추출한 값이 존재한다면 더이상 결과 배열인
res
에 추가하지 않는다. - 값이 존재하지 않는다면 이에 1을 저장해 이미 존재함을 알린다.
- pop 연산을 통해 얻어낸 배열
res
를 뒤집어 비어있는nums
에 다시 채워준다.
코드
Python
class Solution(object):
def removeDuplicates(self, nums):
dic = {}
res = []
while nums:
x = nums.pop()
if not x in dic:
dic[x] = 1
res.append(x)
for r in res[::-1]:
nums.append(r)
return len(nums)
댓글남기기