반응형
📌 퀴즈 개요
이 퀴즈는 "시간복잡도 & 공간복잡도" 개념을 이해하고 있는지 확인하기 위한 문제들로 구성되어 있습니다. 각 문제의 답을 선택하거나 직접 작성해보세요!
🧩 1. 시간복잡도 관련 문제
❓ 문제 1
다음 코드의 시간복잡도는 얼마일까요?
for i in range(n):
print(i)
- O(1)
- O(n)
- O(n^2)
- O(log n)
❓ 문제 2
다음 코드의 시간복잡도를 올바르게 분석한 것은?
for i in range(n):
for j in range(n):
print(i, j)
- O(n)
- O(n^2)
- O(log n)
- O(n!)
🧩 2. 공간복잡도 관련 문제
❓ 문제 3
다음 코드의 공간복잡도는 얼마일까요?
arr = [0] * n
- O(1)
- O(n)
- O(n^2)
- O(log n)
❓ 문제 4
다음 코드에서 추가적으로 사용되는 공간은?
x = 10
y = 20
z = x + y
- O(1)
- O(n)
- O(n^2)
- O(log n)
❓ 문제 5
2차원 리스트(행렬)를 선언할 때 필요한 공간복잡도는?
- O(n)
- O(n log n)
- O(n^2)
- O(1)
🏆 정답 및 해설
✅ 문제 1 (시간복잡도) 정답: 2. O(n)
for i in range(n):
print(i) # 이 루프는 n번 실행되므로 O(n)
- 반복문이 한 번 실행되므로 O(n)입니다.
✅ 문제 2 (시간복잡도) 정답: 2. O(n^2)
for i in range(n):
for j in range(n):
print(i, j) # 내부 루프가 n번 실행됨
- 이중 반복문이 있으므로 총 n * n = O(n^2)입니다.
✅ 문제 3 (공간복잡도) 정답: 2. O(n)
arr = [0] * n # 리스트를 생성하는 데 n개의 원소가 필요함
- 리스트의 크기가 n이므로 O(n)입니다.
✅ 문제 4 (공간복잡도) 정답: 1. O(1)
x = 10
y = 20
z = x + y # 추가적인 메모리 공간을 거의 사용하지 않음
- 변수 선언과 간단한 연산이므로 O(1)입니다.
✅ 문제 5 (공간복잡도) 정답: 3. O(n^2)
matrix = [[0] * n for _ in range(n)] # n x n 크기의 리스트 생성
- 2차원 리스트는 n x n 크기의 공간을 필요로 하므로 O(n^2)입니다.
반응형
'IT > algorithm' 카테고리의 다른 글
[Python] 알고리즘 개념1 추가 퀴즈 - 시간복잡도 & 공간복잡도 (0) | 2025.02.20 |
---|---|
[Python] 알고리즘 개념4 퀴즈 - 재귀와 백트래킹 (0) | 2025.02.20 |
[Python] 알고리즘 개념4 - 재귀와 백트래킹 (0) | 2025.02.20 |
[Python] 알고리즘 개념2 퀴즈 - Big-O 표기법 심화 (0) | 2025.02.20 |
[Python] 알고리즘 개념3 퀴즈 - 배열과 리스트 (0) | 2025.02.20 |
[Python] 알고리즘 개념3 - 배열과 리스트 (0) | 2025.02.20 |
[Python] 알고리즘 개념2 - Big-O 표기법 심화 (0) | 2025.02.19 |
[Python] 알고리즘 개념1 - 시간복잡도 & 공간복잡도 (0) | 2025.02.19 |
댓글