코딩 테스트의 핵심, 시간 복잡도 이해하기
·
코딩테스트
코딩 테스트는 결국 정확함과 효율성의 싸움이다. 정답을 맞히는 것도 중요하지만, 문제의 시간 복잡도를 고려하고 그에 맞는 알고리즘을 선택해 효율적인 코드를 작성해야한다.시간 복잡도란?시간 복잡도는 문제를 해결하기 위해 필요한 연산 횟수를 수학적으로 표현한 것이다.즉, 코드가 얼마나 많은 계산을 수행하는지를 나타내는 지표다.코딩 테스트에서는 보통 다음 기준으로 계산한다.💡 1초 ≈ 1억 번(=10⁸)의 연산따라서 문제의 제한 시간이 1초일 때, 연산 횟수가 10⁸번을 넘어가면 시간 초과가 발생할 가능성이 높다.예시로 살펴보기입력 크기 n = 10⁵인 문제에서알고리즘의 시간 복잡도가 O(n²)라면 약 10¹⁰번의 연산이 필요하다.→ 1초 안에 끝나지 않는다. 하지만 O(n log n) 알고리즘이라면 약 1..