알고리즘/코딩 테스트
[LeetCode] Two Sum
gooooooood
2020. 8. 20. 22:02
반응형
Problem)
Solution)
먼저 제 첫번째 솔루션 입니다.
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for idx, value in enumerate(nums):
if (target - value) in nums:
if nums.index(target - value) != idx:
return [idx, nums.index(target - value)]
그보다 x20 빠른 솔루션 입니다.
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
d = {}
for i, n in enumerate(nums):
m = target - n
if m in d:
return [d[m], i]
else:
d[n] = i
시간과 메모리 효율성을 항상 고려하는 습관을 길러야겠다
반응형