[Leetcode] 1. Two Sum
https://leetcode.com/problems/two-sum/주어진 정수 배열에서 두 값의 합이 찾고자 하는 값(target)일 경우, 두 인덱스를 반환하는 문제
- 정확히 하나의 솔루션이 존재한다.
- 동일한 값은 두 번 사용할 수 없다.
Example 1
- Input : nums = [2, 7, 11, 15], target = 9
- Output : [0, 1]
- nums[0] + nums[1] = 2 + 7 = 9
Example 2
- Input : nums = [3, 2, 4], target = 6
- Output : [1, 2]
Example 3
- Input : nums = [3, 3], target = 6
- Output : [0, 1]
Note
dict를 사용하여 해결 (key : 확인한 정수값, value : 해당 값의 인덱스)
1
2
3
4
5
6
7
8
9
10
11
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
seen = {}
for i, num in enumerate(nums) :
temp = target - num
if temp in seen :
return [seen[temp], i]
else :
seen[num] = i
return []