💡 복잡도
알고리즘의 성능을 나타내는 척도
특정 크기의 입력에 대해 알고리즘이 얼마나 오래 걸리는지 = 연산 횟수 를 의미한다.
일반적으로 1초 = 1억번 의 연산을 의미한다.
시간 복잡도를 표현할 때는 빅오 (Big O) 표기법 을 사용한다.

위로 올라갈 수록 빠르다 !
for, while 반복문 -> 최소 O(N)성능/효율 좋은 순 !
O(1) > O(log(n)) > O(n) > O(n * log(n)) > O(n^2) > O(n^3) > O(n^k) > O(k^n) > O(n!)
500 인 경우 : O(N^3) 2000 인 경우 : O(N^2) 10,000 인 경우 : O(NlogN) 10,000,000 인 경우 : O(N) 특정 크기의 입력에 대해 알고리즘이 얼마나 많은 메모리를 차지하는지를 의미한다.
공간 복잡도를 표기할 때도 빅오 (Big O) 표기법 을 사용한다.
일반적인 int 형 자료형이 4Byte 라는 것을 가정했을 때, 배열 기준 크기는 다음과 같다.
코딩 테스트에서는 보통 메모리 사용량을 128 ~ 512MB 정도로 제한 !