피드로 돌아가기
Two sum problem
Dev.toDev.to
Career

Two Sum 문제 해결을 위한 Brute Force 접근법과 시간 복잡도 분석

Two sum problem

kittichanr2026년 4월 4일2beginner

Context

정수 배열과 타겟 값이 주어졌을 때 합계가 타겟과 일치하는 두 원소의 인덱스를 찾는 문제. 중복 요소 사용 불가 및 단일 정답 존재 가정 조건. 효율적인 탐색 알고리즘 설계가 핵심인 과제.

Technical Solution

  • 두 개의 중첩 loop를 활용하여 배열 내 모든 가능한 쌍을 전수 조사하는 Brute Force 방식 적용
  • 외부 loop에서 기준 요소를 선택하고 내부 loop에서 기준 요소 이후의 데이터만 비교하는 탐색 범위 최적화
  • 각 반복 단계에서 두 요소의 합과 target 값의 일치 여부를 판단하는 조건문 설계
  • 일치하는 쌍 발견 즉시 해당 인덱스를 배열 형태로 반환하는 조기 종료 구조
  • 조건에 맞는 쌍이 없을 경우 빈 배열을 반환하는 예외 처리 로직

Key Takeaway

직관적인 구현이 가능하나 데이터 증가에 따라 처리 시간이 기하급수적으로 늘어나는 시간 복잡도의 중요성 체감. 문제 해결 후에는 반드시 시간 및 공간 복잡도 분석을 통한 최적화 가능성 검토 필요.


데이터 셋 규모가 커질 경우 O(n²) 복잡도의 이중 loop 구조는 성능 저하의 원인이 되므로 Hash Map 등을 활용한 O(n) 최적화 방안 검토 필요

원문 읽기