•
문제 설명
◦
배열 내 요소의 합이 target과 동일할 경우, 합산에 사용된 두 요소의 index를 리스트로 반환하는 문제
•
풀이 방법
◦
처음에는 combinations 를 사용한 조합 문제로 생각하고 접근
◦
이후 채점에서 시간 초과가 발생하였다. 이 문제는 무조건 2가지 요소의 합이기 때문에, 굳이 조합을 사용할 필요는 없다고 생각했다.
◦
차라리 순차탐색이 더 빠르다고 생각했고, IndexError 를 사용하면 굳이 제공된 리스트이 길이를 알지 않아도 탐색이 가능할 것 같았다.
•
성공 코드
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
info = {v: i for i, v in enumerate(nums)}
for i, v in enumerate(nums):
if (search_index := info.get(target - v)) and i != search_index:
return [i, search_index]
Python
복사