728x90
반응형
🧠 파이썬 문제풀이
💬 문제 코드
def func(lst):
for i in range(len(lst) // 2):
lst[i], lst[-i - 1] = lst[-i - 1], lst[i]
lst = [1, 2, 3, 4, 5, 6]
func(lst)
print(sum(lst[::2]) - sum(lst[1::2]))
✅ 문제 해석
- func(lst)는 리스트를 뒤집는 함수입니다.
- 그 다음 lst[::2]와 lst[1::2]를 통해 짝수/홀수 인덱스의 합을 각각 구합니다.
- 마지막으로 그 두 값의 차를 출력합니다.
🔍 Step 1: 리스트 뒤집기
for i in range(len(lst) // 2):
lst[i], lst[-i - 1] = lst[-i - 1], lst[i]
이 코드는 리스트를 앞과 뒤에서부터 교환하면서 뒤집는 동작을 합니다.
i lst[i] lst[-i - 1] 바뀐 후
0 | 1 | 6 | 6, …, 1 |
1 | 2 | 5 | 6, 5, …, 2, 1 |
2 | 3 | 4 | 6, 5, 4, 3, 2, 1 |
최종 결과: lst = [6, 5, 4, 3, 2, 1]
🔍 Step 2: 슬라이싱을 이용한 합 계산
✅ 짝수 인덱스 (lst[::2])
lst[::2] = [6, 4, 2]
sum(lst[::2]) = 6 + 4 + 2 = 12
✅ 홀수 인덱스 (lst[1::2])
lst[1::2] = [5, 3, 1]
sum(lst[1::2]) = 5 + 3 + 1 = 9
✅ 최종 계산
print(12 - 9) # 출력 결과: 3
✨ 핵심 문법 정리
🔁 lst[i], lst[-i - 1] = lst[-i - 1], lst[i]
- 리스트의 앞(i) 과 뒤(-i - 1) 요소를 서로 교환함
- 파이썬만의 간결한 swap 문법!
다른 언어에서는 임시 변수 필요함
🧩 lst[::2] / lst[1::2]
- lst[::2]: 짝수 인덱스 (0, 2, 4, …)
- lst[1::2]: 홀수 인덱스 (1, 3, 5, …)
🎯 정답: 3
728x90
반응형
'Computer Science > 정보처리기사' 카테고리의 다른 글
[정처기 실기 기출] 2024 3회 : 파이썬 코드 분석 예상 문제 (0) | 2025.04.13 |
---|---|
[정처기 실기 기출] 2024 3회 : 자바 코드 분석 예상 문제 (1) | 2025.04.13 |
[정처기 실기 기출] 2024 3회 : 자바 코드 분석 추가 예제 (0) | 2025.04.13 |
[정처기 실기 기출] 2024 3회 : 자바 코드 분석 문제 (0) | 2025.04.13 |