{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉투 포인터〉정렬된 배열에서 두 수의 합← 이전다음 →
#066 · 투 포인터쉬움투 포인터

정렬된 배열에서 두 수의 합

문제

오름차순으로 정렬된 정수 배열 arr 과 목표값 target 이 주어집니다. arr[i] + arr[j] === target (i < j) 을 만족하는 인덱스 쌍 [i, j] 를 반환하세요. 정답이 되는 쌍은 최대 1개라고 가정합니다. 만족하는 쌍이 없으면 [-1, -1] 을 반환합니다.

예시

arr=[1,2,4,7,11], target=9   → [1, 3]   (2 + 7)
arr=[1,5,6,8],    target=14  → [2, 3]   (6 + 8)
arr=[1,2,3],      target=10  → [-1, -1]
arr=[-3,0,2,4],   target=1   → [0, 3]   (-3 + 4)

제약 조건

  • 2 ≤ arr.length ≤ 100,000
  • 배열은 오름차순 정렬된 상태
  • -1,000,000 ≤ arr[i], target ≤ 1,000,000

시간 복잡도 목표: O(N)

테스트 케이스

예시 1: 2 + 7 = 9
입력: arr = [1,2,4,7,11], target = 9
출력: [1,3]
예시 2: 6 + 8 = 14
입력: arr = [1,5,6,8], target = 14
출력: [2,3]
예시 3: 정답 없음
입력: arr = [1,2,3], target = 10
출력: [-1,-1]
예시 4: 음수 포함
입력: arr = [-3,0,2,4], target = 1
출력: [0,3]
예시 5: 원소 2개 (최소 길이)
입력: arr = [1,3], target = 4
출력: [0,1]
예시 6: 9 + 12 = 21
입력: arr = [2,5,9,12,20], target = 21
출력: [2,3]
solution.ts
에디터 로딩 중…

▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.