더북(TheBook)

문제를 보고 효율적인 풀이를 바로 떠올리기 어렵다면 문제에서 주어진 입력 조건을 이용하여 풀이의 시간 복잡도를 먼저 유추해보는 것도 풀이를 생각해내기에 좋은 힌트가 될 수 있습니다. 시간 제한이 1초일 경우에 유추 가능한 시간 복잡도를 살펴봅시다.

▼ 표 2-3 제한 시간이 1초일 때 유추 가능한 시간 복잡도와 알고리즘

N

유추 가능한 시간 복잡도

유추 가능한 알고리즘

10

O(N!)

순열

20

O(2N)

조합

1,000~

O(N3), O(N3 logN)

완전 탐색, 이진 탐색

10,000~

O(N logN)

정렬, 이진 탐색

이처럼 시간 복잡도를 이용하면 문제에서 주어진 조건으로 풀이에 대한 힌트를 얻을 수 있습니다. 하지만 시간 복잡도와 상관없이 작은 입력 제한을 주는 문제도 나올 수 있으므로 유추 가능한 알고리즘은 어디까지나 힌트로 사용해야 합니다. 무조건 해당 알고리즘을 사용하여 문제를 해결해야 한다는 의미가 아니라는 점을 기억합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.