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