class Solution:
def twoSum(self, nums: List(int), target: int) -> List(int):
ans = ()
dic = {}
for i in range(len(nums)):
dic(nums(i))=i
for i in range(len(nums)):
num = target-nums(i)
if num in dic and i !
= dic(num):
ans.append(i)
ans.append(dic(num))
break
return ans
nums 라는 배열이 주어져 nums 의 원소를 선택해 target 값을 만들 수 있는 인덱스를 구하는 문제였다.
사전의 데이터 구조를 사용하여 해결되었습니다.
(Java 맵과 유사)
dic = { 값 = “index} 글꼴로 저장했습니다.
nums = ( 2, 7, 11, 15 )라면 dic = {2:0, 7:1, 11:2, 15:3}은 이렇게 저장됩니다.
저장 후 for 문을 다시 사용하여 조건을 하나씩 충족하는지 확인합니다.
target – nums(i) 하나의 값이 dic에 존재하고 그 값의 위치가 i와 다른 경우 for 문을 종료합니다.
이중 for 문을 사용하지 않고 풀어 뭔가 기뻤던 문제다.