공대생의 비망록

[LeetCode][Easy] Contains Duplicate 문제 Python 풀이 본문

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.

'Programming Language > Python' 카테고리의 다른 글

[LeetCode][Easy] Two Sum 문제 Python 풀이  (0) 2026.02.05
Comments