콘텐츠로 이동

SET 12 — 정답 및 해설 (긴 코드)

문항 1 2 3 4 5 6 7 8 9 10
정답

1. 정답 ③ aebacy 길이 5 이상인 단어만(apple, banana, cherry) 첫·끝 글자를 이어 붙임: ae + ba + cy = aebacy. kiwi(4)는 제외. 핵심: 인덱싱 w[0]/w[-1], 길이 필터.

2. 정답 ① 13 7 3 15의 배수(both) 3개. 3의 배수 중 15의 배수가 아닌 것 13개, 5의 배수 중 아닌 것 7개. 핵심: elif 순서가 결과를 좌우(15 배수를 먼저 걸러야 함).

3. 정답 ② 12 a, b = b, a % b를 반복하는 유클리드 호제법 → gcd(48, 36) = 12. 핵심: 동시 대입과 나머지 연산.

4. 정답 ① 15 15 주대각선 1+5+9 = 15, 반대각선 3+5+7 = 15. 핵심: matrix[i][i]matrix[i][n-1-i].

5. 정답 ② 29 일의 자리를 떼며 재귀로 합산: 5+7+8+9 = 29. 핵심: 재귀 종료조건(n < 10)과 n%10, n//10.

6. 정답 ① 2 1 4 a는 3번 답 중 2번 정답, b는 1번 정답. total_questions클래스 변수라 모든 호출이 누적 → 4. 핵심: 클래스 변수(공유)와 인스턴스 변수(독립)의 구분.

7. 정답 ① [5.0, 'inf', 3.0] 10/2=5.0, 5/0ZeroDivisionError"inf", 9/3=3.0. 핵심: 루프 안 튜플 언패킹 + 예외 처리, /는 실수.

8. 정답 ② 5 1~29의 완전제곱수는 1, 4, 9, 16, 25로 5개. floor(root) == root로 판정. 핵심: math.sqrt/math.floor로 완전제곱 검사.

9. 정답 ② 2 2 apple 2개 차감(5→3), banana 5개는 재고 3 부족→거부, cherry는 재고에 없음→거부, apple 1개 더 차감(3→2). 거부 2건. 핵심: in과 수량 비교로 조건부 갱신.

10. 정답 ① C 4 False 득표 A 3, B 2, C 4. 최다 C(4표), 마지막 갱신에서 tie=False. 핵심: 딕셔너리 집계 + 최댓값/동점 추적.