Menu
CoddyTech

Two Sum

쉬움해싱python iconjava iconcpp iconc iconjs icon+10

정수 배열 nums와 정수 target이 주어집니다. nums의 서로 다른 두 위치에 있는 정확히 두 항목의 합이 target이 됩니다. 이 두 항목의 인덱스를 반환하세요. 작은 인덱스를 먼저 반환합니다.

함수

twoSum(nums: integer-array, target: integer) → integer-array
numsinteger-array
검색할 정수 배열
targetinteger
두 항목의 합이 도달해야 하는 값
반환값integer-array
두 인덱스 중 더 작은 것이 먼저

제약 조건

  • 2 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • -109 ≤ target ≤ 109
  • 서로 다른 위치의 쌍은 정확히 하나이며, 그 합은 target입니다.

예제

입력
nums = [3, 8, 12, 5]target = 17
출력
[2, 3]
설명
12는 인덱스 2에 있고 5는 인덱스 3에 있으며, 12 + 5 = 17입니다. 다른 어떤 쌍도 17에 도달하지 않습니다.
challenge icon

후속 질문

만약 nums가 이미 정렬된 상태로 주어진다면, 추가 메모리를 O(1)만 사용하여 O(n) 시간에 쌍을 찾을 수 있을까요?

코드 초기화
def twoSum(nums, target):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

nums = [3, 8, 12, 5]
target = 17

예상 출력

[2, 3]