공대생의 비망록

[LeetCode][Easy] Two Sum 문제 Python 풀이 본문

Programming Language/Python

[LeetCode][Easy] Two Sum 문제 Python 풀이

myungsup1250 2026. 2. 5. 14:17

중첩 for-loop 사용: <O(n^2)>

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(len(nums)):
            for j in range (i + 1, len(nums)):
                if nums[i] + nums[j] == target:
                    return [i, j]


시간복잡도 개선을 위해 Dictionary 자료구조를 활용하는 방식: <O(n)>

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        desiredTarget = {}
        for i in range(len(nums)):
            if nums[i] in desiredTarget: # is not empty
                return [desiredTarget[nums[i]], i]
            else:
                desiredTarget[target - nums[i]] = i
Comments