Search

Two Sum

문제 설명
배열 내 요소의 합이 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
복사