728x90
덧셈하여 타겟을 만들 수 있는 배열의 두 숫자 인덱스를 리턴하라.
입력
nums = [2,7,11,15], target = 9
출력
[0,1]
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
nums_map = {}
# 딕셔너리에 값을 키로 넣고 인덱스를 값으로 넣는다
# target 에서 num을 뺀 값이 딕셔너리에 존재하면 num과 그 값을 출력하면 정답이다.
for i, num in enumerate(nums):
nums_map[num] = i
for i, num in enumerate(nums):
# 이 문제에선 두 숫자를 리턴해야 하므로
# 만약 target - num이 자기 자신이라면 안되므로 조건문에서 걸러준다.
if target - num in nums_map and i != nums_map[target - num]:
return nums.index(num), nums_map[target - num]
728x90
'Algorithm' 카테고리의 다른 글
(카카오) 기둥과 보 (0) | 2021.01.11 |
---|---|
(백준) 뱀 (0) | 2021.01.06 |
구간 합 계산 (Prefix Sum) (0) | 2021.01.05 |
투 포인터 (two pointer) 기법 (0) | 2021.01.05 |
(카카오) 무지의 먹방 라이브 - javascript (0) | 2021.01.05 |
댓글