← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 2회 · 프로그래밍 언어 활용 · 반복 복잡도 · 80번
다음 반복문의 시간복잡도는?
for (int i = 1; i <= n; i *= 2) {
for (int j = 0; j < i; j++) {
work();
}
}
- 1
Θ(log n)
오답 이유바깥 반복만 세면 Θ(log n)이지만 안쪽 실행 횟수를 합해야 한다. - 2
Θ(n log n)
오답 이유각 단계에서 안쪽 반복이 항상 n번인 것이 아니므로 Θ(n log n)이 아니다. - 3
Θ(n)
정답 근거기하급수 합의 마지막 항이 전체 합을 지배하므로 Θ(n)이다. - 4
Θ(n²)
오답 이유두 반복문 모두 n번 수행되는 구조가 아니므로 Θ(n²)이 아니다.
정답·상세해설정답 3번
안쪽 반복 횟수는 바깥 반복마다 1, 2, 4, …, n으로 증가한다. 총 실행 횟수는 기하급수 합 `1+2+4+…+n`이므로 Θ(n)이다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-22