SET 08 — 정답 및 해설¶
| 문항 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 정답 | ① | ② | ② | ① | ② | ① | ② | ① | ② | ② |
1. 정답 ① 53
str(5) + str(2) = "52", int("52") = 52, 52 + 1 = 53. (문자열로 이어 붙인 뒤 정수로 변환)
2. 정답 ② True
10 // 3 = 3 → 3 == 3은 True. 10 % 3 = 1 → 1 == 1은 True. True and True = True.
3. 정답 ② 8
n*n > 50이 처음 참이 되는 건 n = 8(64). 그 전까지 n이 1씩 증가하고, n=8에서 found=True가 되어 n은 더 증가하지 않고 루프 종료 → 8.
4. 정답 ① 12
i+j가 홀수일 때만 1을 더함(i, j 중 하나만 홀수). 5×5 = 25쌍 중 홀짝이 엇갈리는 경우는 12쌍 → 12.
5. 정답 ② 16
f(7) = 7 + f(5) = 7 + 5 + f(3) = 7 + 5 + 3 + f(1) = 7 + 5 + 3 + 1 + f(-1). f(-1) = 0. 합 16. (2씩 줄며 홀수만 더함)
6. 정답 ① [1, 2, 3]
push가 return self라 메서드 체이닝이 가능. s.push(1).push(2).push(3)이 같은 객체에 차례로 추가 → [1, 2, 3].
7. 정답 ② [5, 99, 0]
10 // 2 = 5 추가(예외 없음) → except 건너뜀 → else의 99 추가 → finally의 0 추가. [5, 99, 0].
8. 정답 ① 7
math.sqrt(50) = 7.07..., math.floor(7.07...) = 7(내림, 정수 반환).
9. 정답 ② 4 5
b = a[:]는 슬라이싱으로 복사한 새 리스트(별칭이 아님). b에만 append → a는 길이 4, b는 5.
10. 정답 ② {'a': [1, 3], 'b': [2, 4]}
키가 없으면 빈 리스트를 만들고 값을 모음(그룹핑 패턴). a에 1,3 / b에 2,4 → {'a': [1, 3], 'b': [2, 4]}.