Programming Language/Python
[LeetCode][Easy] Contains Duplicate 문제 Python 풀이
myungsup1250
2026. 2. 5. 15:34
중첩 for-loop 활용 방법: <O(n^2)>
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
for i in range(len(nums)):
for j in range(i + 1, len(nums)):
if nums[i] == nums[j]:
return True
return False
집합 (Set) 자료구조 활용 방법: <O(n)>
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
exists = set()
for num in nums:
if num in exists:
return True
else:
exists.add(num)
return False
보다 Python 스러운 방법 (The most Pythonic way): <O(n)> - 시간복잡도는 위의 방법과 같이 O(n)이나 중복 원소가 조기에 확인되는 경우 본 방법보다 빠를 수 있음!
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return len(nums) != len(set(nums)) # Most pythonic way to solve this problem.