- 문제 이해 단계
- 문제를 2-3번 꼼꼼히 읽기
- 주어진 제약 조건과 요구사항 정리하기
- 입/출력 예시를 통해 문제의 의도 파악하기
- 문제를 나만의 말로 재정의해보기
- 문제 분석 단계
- 문제의 유형 파악하기(그래프, DP, 그리디, 완전탐색 등)
- 필요한 자료구조 결정하기(배열, 스택, 큐, 해시맵 등)
- 시간/공간 복잡도 제약 확인하기
- 엣지 케이스 미리 생각해보기(빈 입력, 최댓값, 최솟값 등)
- 알고리즘 설계 단계
- 문제 해결을 위한 접근 방법 브레인스토밍
- 가능한 여러 해결책 중 최적의 방법 선택하기
- 알고리즘의 대략적인 흐름을 의사코드로 작성하기
- 시간 복잡도와 공간 복잡도 계산하기
- 코드 구현 단계
- 설계한 알고리즘을 파이썬 코드로 변환하기
- 가독성 있는 코드 작성하기(적절한 변수명, 함수 분리 등)
- 파이썬 내장 함수 및 라이브러리 활용하기
- 주요 로직에 주석 달기
- 테스트 및 디버깅 단계
- 제공된 예제 케이스로 테스트하기
- 자체적으로 엣지 케이스 만들어 테스트하기
- 논리적 오류나 예회 상황 처리하기
- 코드 최적화 고려하기(시간/공간 복잡도 개선)
- 코드 리팩토링 단계
- 중복 코드 제거하기
- 코드 가독성 높이기
- 코드 설명 템플릿
이 문제는 간단히 말해서문제 요약 1-2 문장
이고,핵심 제약 조건
의 조건이 있습니다.