접근 방법 생각해내기
-
직관적으로 생각하기
- 보통 완전탐색으로 시작
- 문제 상황을 단순화 하여 생각
- 문제 상황을 극한화 하여 생각
-
자료구조와 알고리즘을 활용
- 어떤 자료구조를 사용하는게 가장 적합한지 결정
- 대놓고 특정 자료구조와 알고리즘을 묻는 문제도 많음
- 자료구조에 따라 선택할 수 있는 알고리즘을 문제에 적용
-
메모리 사용
- 시간복잡도를 줄이기 위해 메모리를 사용
- 대표적으로 해시테이블
-
input, Output 확인
- input 값의 특징, (정수인가, 값 크기의 범위는? 마이너스도 되는건가? 소수인가? 자료형은 문자열인가?)
- Output 값의 특징
-
input size N 확인
- 시간복잡도를 계산하기 위한 input size N 또는 M이 무엇인지 확인
-
제약조건 확인
- 시간복잡도 제한이 있는지 확인
- 내가 선택할 수 있는 알고리즘이 무엇이 있는지
-
예상할 수 있는 오류 파악
- 상황을 가정하면서 예상할 수 있는 오류를 파악한다.