[알고리즘] 두 수의 합

June·2021년 1월 17일
0

알고리즘

목록 보기
17/260

두 수의 합

내 풀이

def twoSum(nums: List[int], target:int) -> List[int]:
    for i, n in enumerate(nums):
        if target - n in nums[i+1:]:
            return i, nums[i+1:].index(target - n) + i+1

문제를 보자마자 떠오른 풀이 방법은 브루트포스였으나, 책의 풀이가 기억나서 in을 사용했다.

책 풀이 1

def twoSum(nums: List[int], target:int) -> List[int]:
    num_maps = {}
    for i, num in enumerate(nums):
        if target - num in num_maps:
            return [num_maps[target - num], i]
        num_maps[num] = i

딕셔너리에 키를 숫자로, value를 인덱스로 잡았다.

0개의 댓글