알고리즘 공부 진행 중 · Day 1 미풀이

언어: TypeScript · 기간: 2026-11-04 ~ 2026-12-03 (30일) · 목적: 코딩테스트 대비, 완전 초보 기준

Day 1 진행 중, 완료 0일

Day 1 — 시간복잡도 + twoSum

  • 개념: O(1) 한 번, O(n) 한 번 훑기, O(n²) 이중 for문
  • 문제: 합이 target이 되는 두 수의 인덱스 반환, 같은 원소 두 번 사용 금지
  • 예: [2, 7, 11, 15], target 9 → [0, 1]
  • 핵심 교정: 기준은 배수/최소공배수가 아니라 합이다. 남은수 = target - 순회숫자
  • 주의: target보다 큰 수 제외는 양수만 있을 때만 안전하고, 값만 뽑아 새 리스트를 만들면 원래 인덱스가 날아간다.
function twoSum(nums: number[], target: number): number[] {
  // nums[i] + nums[j] === target인 쌍을 찾는다
  // 이중 for문이면 O(n²), 나중에 해시로 O(n)으로 줄인다
}

4주 지도

1주
시간복잡도, 배열/문자열, 해시, 스택/큐
2주
정렬, 이진탐색, 투포인터, 슬라이딩 윈도우
3주
DFS/BFS, 그래프 입문
4주
DP, 그리디/힙, 모의 코테 2회