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