더북(TheBook)

• O(2n) 이상: 입력 데이터 수가 정말 적거나 특수한 조건이 있을 때만 사용하는 시간 복잡도입니다. 대표적인 예로 피보나치의 수가 있으며, 구해야 하는 숫자가 커질수록 이전 결괏값을 전부 계산해야 하기 때문에 연산 횟수가 기하급수적으로 늘어납니다. 만약 코드를 테스트할 때 입력 데이터가 아주 적은데도 체감할 수 있을 정도로 시간이 길어진다면 이 방법을 사용하는 걸 고려해봐야 합니다.

주로 사용하는 시간 복잡도를 알아봤습니다. 단, 이해하기 쉽도록 설명한 것이기 때문에 입력 데이터 수에 따라 반드시 어떤 시간 복잡도를 사용해야 한다는 것은 아닙니다. 문제마다 주어진 상황과 조건이 다르기 때문에 예상한 것보다 시간 복잡도가 긴 알고리즘으로 풀어도 통과할 수 있고, 결국 알고리즘 선택과 코드 구현 방법은 여러분의 몫입니다.

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