[코테 적용] [1번 문제] key in

str·2024년 10월 31일

출처 : 인프런 - 코딩테스트 [ ALL IN ONE ]

문제

(https://leetcode.com/problems/two-sum/)

접근 방법

  • 메모리를 사용하는 방법 이용

한번 보면 바로 기억하는 뇌를 가지고 있을 때, 한번 보면 다 기억함.

이 뇌를 Dictionary로 구현해보자.
기억하고 싶은 게 있다면 key에 저장

key에 list의 요소를 저장

코드 설계

코드 구현

  • 딕셔너리를 사용해서 키 값에 내가 원하는 숫자가 있는지 없는지 판별하는 중요한 도구로쓰인다.
class Solution:
    def twoSum(nums, target: int):
        memo = {}
        for idx, value in enumerate(nums):
            needed_number = target - value

            # 필요한 숫자가 memo에 존재할 경우, 정답 반환
            if needed_number in memo:
                return [memo[needed_number], idx]
            # 그렇지 않으면 현재 숫자를 memo에 추가
            memo[value] = idx
        return []  # 답이 없는 경우 빈 리스트 반환
    
print(Solution.twoSum(nums = [2,7,11,15], target=9))

0개의 댓글