알고리즘 과목을 처음 배워도, 코딩테스트를 처음 시작하려고 해도 꼭 나오는 개념이 있다.바로 시간 복잡도를 표현할 수 있는 Big-O 표기법이다.문제만 풀 줄 알면 됐지 하고 넘어간다면, 시간 초과 오류와 마주칠지도 모르겠다. 이론은 이해하겠는데, 대체 코딩테스트 문제를 풀 때 어떻게 활용하라는 거야? 시간 복잡도란? 알고리즘의 연산 횟수, 즉 성능을 수학적으로 표현해주는 표기법이다.일반적으로 1초에 1억 번의 연산을 수행한다고 가정한다.Big-O 시간 복잡도는 항상 최악일 때, 즉 데이터의 크기가 가장 클 때를 기준으로 한다.(Big-Ω는 최선일 때, Big-Θ는 보통일 때를 나타낸다.) 실제 러닝타임보다는 알고리즘의 성능을 예측하는 것이 목표이기 때문에 상수는 고려하지 않는다.반복문이 여러 개 있..