Ch.1 빅오와 복잡도 분석
챕터 1 종합 퀴즈 — Big-O & 복잡도 총정리
지금까지 배운 것을 총정리합니다
효율성, Big-O, O(log n), 공간 복잡도, ATSO 프레임워크 — 5개 레슨의 핵심을 종합 퀴즈로 점검합니다.
면접장에서 당황하지 않으려면 반복 연습이 필수!
실전 면접 수준의 문제들로 자신감을 키워봅시다.
핵심 내용
O(3n² + 2n + 100)을 Big-O로 단순화하면?
다음 코드의 시간 복잡도는? for i in range(n): for j in range(n): print(i + j)
100만 개의 정렬된 데이터에서 이진탐색 시 최대 비교 횟수는?
이진탐색은 정렬되지 않은 배열에서도 사용할 수 있다
매번 탐색 범위를 반으로 줄이는 알고리즘의 시간 복잡도: O(___)
범위를 반으로 줄이는 알고리즘: O(___)
다음 코드의 공간 복잡도는? def func(arr): result = [x * 2 for x in arr] return result
재귀 함수 f(n)이 f(n-1)을 호출하면 콜 스택 공간은 O(n)이다
시간을 줄이기 위해 메모리를 더 쓰는 것을 ___라고 한다
시간을 줄이기 위해 메모리를 더 쓰는 것: ___
ATSO 프레임워크의 올바른 순서는?
면접에서 시간 복잡도만 말하고 공간 복잡도를 빼먹어도 괜찮다
다음 코드의 시간 복잡도는? def mystery(arr): seen = set() for x in arr: seen.add(x) return len(seen) == len(arr)
위 mystery 함수의 공간 복잡도를 채우세요: O(___)
mystery 함수의 공간 복잡도: O(___)
다음 중 시간 복잡도가 가장 빠른 것은?
Big-O 마스터 달성!
정리 노트
Big-O & 복잡도 분석 총정리
Big-O 등급표
- O(1)
- 상수 시간 — 인덱싱, 해시맵 조회
- O(log n)
- 로그 시간 — 이진탐색
- O(n)
- 선형 시간 — 단일 for 루프
- O(n log n)
- 선형 로그 — 정렬 (merge, quick)
- O(n²)
- 이차 시간 — 중첩 for 루프
공간 복잡도
- O(1)
- 변수 몇 개만 사용
- O(n)
- 새 배열/해시맵/set 생성
- 재귀
- 콜 스택 깊이만큼 사용
면접 프레임워크
- ATSO
- Approach → Time → Space → Optimize
- 핵심
- 코딩 전에 접근법 설명, 시간+공간 모두 분석
면접 직전에 이 노트만 훑어봐도 복잡도 분석 질문에 자신감이 생깁니다!
핵심 정리
- 1알고리즘 효율성이 면접 합격의 핵심
- 2Big-O: O(1) < O(log n) < O(n) < O(n²)
- 3공간 복잡도와 시간-공간 트레이드오프
- 4ATSO 프레임워크로 구조적 소통
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작