입력이 100 이하인 경우
입력이 10,000 이하인 경우
입력이 1,000,000 이하인 경우
입력이 100,000,000 이하인 경우
최대 O(log n)으로 끝내야하는 문제가 많음
지도가 주어지고 채워진 영역을 찾아야하는 경우
그래프 그림이 있는 경우
문제에서 "가장 빠른 길", "최단 거리"와 비슷한 키워드가 나온다면 당연히 최단 거리 찾기 유형이고 "X 비용 내로 갈 수 있는 길을 찾아라"와 같은 키워드가 나와도 최단 거리 찾기 유형입니다. 다익스트라, BFS, DFS 등이 사용될 수 있다
최소 신장 트리 문제는 보통 "가장 저렴한 방법으로 모든 경로 연결해라" 등의 키워드로 출제됩니다. 경로가 아니라 통신망, 전송 시간, 회로, 배관 등 다양한 용어로 나올 수는 있지만 핵심은 모든 경로를 "가장 싸게 연결해라"입니다. 그래프는 양방향일수도 단방향일수도 있습니다. 크루스칼, 프림 알고리즘을 사용할 수 있다.
위상 정렬은 순서를 정해야할 때 사용됩니다. 보통 "순서", "차례" 등의 키워드가 나오면 위상 정렬 문제입니다.
X라는 조건을 만족하는 가장 최대/최소값을 찾아라
실시간으로 정렬이 이루어져야 하는 경우
DP 문제
문자열이 주어지는 경우
현재 상황에서 가장 최적인 선택을 해야하는 경우