Two Sum
문제 파악
주어진 배열에서 target과 일치하는 두개의 값(한 가지 만 존재)의 인덱스를 반환 하는 것이다.
접근 방법
- 딕셔너리 생성: 배열의 값과 인덱스를 매핑할 딕셔너리를 생성 후 저장(보수 값 빠르게 확인 가능).
 - 반복문: 배열을 반복하면서 각 숫자에 대한 target의 보수를 계산.
 - 조건: 보수 값이 딕셔너리에 있는지 확인하고, 동시에 현재 인덱스와 보수의 인덱스가 같은지 확인(중복 인덱스 방지).
 - 결과값 반환: 조건문 일치시 현재 인덱스와 보수의 인덱스를 반환.
 
코드 구현
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dic = {}
        
        for i, v in enumerate(nums):
            dic[v] = i
            
        for i, v in enumerate(nums):
            complement = target - v
            if complement in dic and i != dic[target-v]:
                return [i, dic[target-v]]
배우게 된 점
is not연산자와!=연산자의 차이를 알게됨is not: 객체 까지 비교 ex) 3 is 3.0 : False==: 값만 비교 ex) 3 == 3.0 : True
Leave a comment