Menu
CoddyTech

Two Sum II: Sorted Input

비내림차순으로 정렬된 정수 배열 numbers와 정수 target이 주어집니다. 서로 다른 위치에 있는 두 값의 합이 target이 되는 쌍은 정확히 하나입니다. 이 두 위치를 0부터 시작하는 인덱스로 반환하되, 더 작은 인덱스를 먼저 반환하세요.

함수

twoSumSorted(numbers: integer-array, target: integer) → integer-array
numbersinteger-array
정렬된 정수 배열
targetinteger
두 값의 합이 도달해야 하는 값
반환값integer-array
i < j이고 numbers[i] + numbers[j] == target인 0부터 시작하는 두 인덱스 [i, j]

제약 조건

  • 2 ≤ numbers.length ≤ 104
  • -5 × 108 ≤ numbers[i] ≤ 5 × 108
  • -109 ≤ target ≤ 109
  • numbers는 감소하지 않는 순서로 정렬되어 있습니다.
  • 인덱스 쌍은 정확히 하나이며, i < j이고 numbers[i] + numbers[j] == target을 만족합니다.

예제

입력
numbers = [-4, 1, 3, 8, 12]target = 9
출력
[1, 3]
설명
1은 인덱스 1에 있고 8은 인덱스 3에 있으며, 1 + 8 = 9입니다. 다른 어떤 쌍도 9가 되지 않습니다. 예를 들어, -4 + 12 = 8입니다.

lock icon제출 시 숨은 테스트 +13개

challenge icon

후속 질문

추가 메모리를 O(1)만 사용하면서 O(n) 시간 안에 해결할 수 있나요?

코드 초기화
def twoSumSorted(numbers, target):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

numbers = [-4, 1, 3, 8, 12]
target = 9

기대값

[1, 3]