• 1 문제 유형 파악
    • 탐색, 정렬, DP, 그래프, 수학 등 유형 파악
  • 2 제약 조건 파악
    • 입력 범위
    • 자료형
  • 3 수도 코드 작성 (로직)
    • 시간 복잡도
    • 공간 복잡도
    • 중복 연산 고려
  • 4 알고리즘 결정 및 구현
  • 5 최적화 및 테스트
    • 반례 케이스
    • 입출력 범위
    • 불필요한 중복 연산 제거 (메모이제이션, DP)
    • 시간 복잡도 개선 (이진 탐색, 분할 정복)
    • 공간 복잡도 개선 (슬라이딩 윈도우, 투 포인터)