[PS] LeetCode: Two Sum II - Input Array Is Sorted

2025. 11. 17. 07:46·PS
오늘은 LeetCode의 Two Sum II - Input Array Is Sorted 문제를 풀어보겠습니다.

 

1. 문제

오름차순으로 정렬된 `numbers`라는 정수 배열이 주어졌습니다. (인덱스 1부터 시작) 더해서 `target` 숫자가 되는 두 숫자를 찾아 인덱스를 반환해주세요. 답을 만족하는 케이스는 한 가지밖에 없고, 같은 원소를 두 번 사용하면 안됩니다.

 

2. 예제

Input: numbers = [2,7,11,15], target = 9
Output: [1,2]
Input: numbers = [2, 3, 4], target = 6
Output: [1,3]

 

3. 접근 방법

3.1. 브루트 포스

가장 단순한 방법은 배열에 있는 숫자 두 개로 만들 수 있는 모든 숫자 조합을 찾은 뒤, 이 숫자들이 조건을 만족하는지 확인하는 것입니다. 아래와 같은 방식으로 구현해볼 수 있습니다. 이 방법은 배열의 모든 숫자를 제곱만큼 탐색해야 하기 때문에 비효율적인 방법이라고 할 수 있습니다.

 

3.2. 투 포인터

좀 더 효율적인 방법은 없을까요? 배열이 오름차순으로 정렬되어 있다는 특성을 활용할 수 있습니다. 양 끝에서부터 포인터를 잡아 target과 비교하고, 작으면 오른쪽 포인터를 하나 왼쪽으로 이동시키고, 반대의 경우라면 왼쪽 포인터를 오른쪽으로 이동시킵니다. 배열의 요소만큼 반환하면 결국 답을 찾아낼 수 있습니다. 

 

4. 알고리즘 분석

4.1. 시간 복잡도: O(n)

최종 답안은 최대 입력 배열의 길이만큼만 순회를 하면 됩니다. 브루트 포스 대비 O(n^2) 더 효율적이라고 할 수 있습니다.

 

4.2. 공간 복잡도: O(1)

최종 답안의 공간 복잡도는 입력 배열의 길이와는 무관합니다. 입력 크기에 상관없이 메모리 사용량이 일정하므로 공간 복잡도는 O(1)입니다.

 

5. 나가며

투 포인터가 서로 다른 방향으로 이동하면서 탐색을 하는 문제였습니다. 다음에는 또 다른 문제들을 풀어보겠습니다.

'PS' 카테고리의 다른 글

[PS] LeetCode: Remove Duplicates from Sorted Array  (1) 2025.11.03
[SQL] Histogram of Tweets  (0) 2025.09.28
[PS] 백준 1697번: 숨바꼭질  (0) 2025.09.07
'PS' 카테고리의 다른 글
  • [PS] LeetCode: Remove Duplicates from Sorted Array
  • [SQL] Histogram of Tweets
  • [PS] 백준 1697번: 숨바꼭질
cloudndata
cloudndata
cloudndata 님의 블로그 입니다.
  • 전체
    오늘
    어제
    • 분류 전체보기 (16)
      • Cloud (0)
      • Data (4)
        • Databricks (1)
        • Curation (3)
        • Spark (3)
        • Project (0)
      • CS (0)
      • PS (4)
      • Reading (0)
  • 태그

    Data Engineering Zoomcamp
    dezoomcamp
    ProblemSolving
    데이터브릭스에서SQL
    de
    무료부트캠프
    데이터엔지니어링프로젝트
    AI시대
    데이터브릭스
    PySpark
    ETL파이프라인
    DataEngineer
    데이터엔지니어미래
    데엔
    데이터엔지니어링
    알고리즘
    Spark
    AI미래
    DatabricksSQL
    데이터엔지니어
    스파크
    100일챌린지
    줌캠프
    leetcode
    PS
    코테준비
    문제풀이
    Zoomcamp
    코딩테스트
    DataEngineering
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
cloudndata
[PS] LeetCode: Two Sum II - Input Array Is Sorted
상단으로

티스토리툴바