26-1다음 Python 코드를 수행하면 무엇이 찍히는지 적으시오.de… | 2026년 정보처리기사실기 1회차 기출문제 상세 페이지
1
26-1
다음 Python 코드를 수행하면 무엇이 찍히는지 적으시오.
def stack(data):
rows = [[v] for v in data]
view = rows[:]
for i in range(2, len(view)):
view[i] += view[i - 2]
return sum(len(r) for r in rows), rows[-1]
total, last = stack([2, 4, 6, 8, 10])
print(total, last)해설
9 [10, 6, 2]
[해설]
view = rows[:]는 얕은 복사라서 바깥 리스트만 새로 만들고, 안쪽 리스트들은 rows와 같은 객체를 공유한다. 리스트의 +=는 새 리스트를 만들지 않고 제자리에서 확장한다.
- i=2: view[2] += view[0] → [6, 2]
- i=3: view[3] += view[1] → [8, 4]
- i=4: view[4] += view[2] → [10, 6, 2] (이미 늘어난 [6, 2]가 붙음)
rows에도 같은 변화가 보이므로 길이 합은 1+1+2+2+3 = 9, 마지막 원소는 [10, 6, 2]이다. 출력은 튜플을 풀어 공백으로 이은 9 [10, 6, 2]이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.