다음 Python 프로그램을 실행했을 때 출력되는 두 값을 순서대로 쓰시오.
numbers = [1, 2, 3]
alias = numbers
copied = numbers[:]
alias[0] = 4
copied.append(alias.pop())
print(sum(numbers), sum(copied))모범답안
6 9
풀이와 판단 근거
alias는 numbers와 같은 리스트 객체를 참조하므로 alias[0]=4를 실행하면 numbers도 [4,2,3]이 된다. copied는 슬라이스로 만든 별도 리스트여서 [1,2,3]을 유지한다.
alias.pop()은 numbers의 마지막 값 3을 제거해 [4,2]로 만들고, 반환한 3을 copied에 추가해 [1,2,3,3]이 된다. 합계는 각각 6과 9다.
자주 틀리는 지점
- alias를 별도 복사본으로 판단
- 슬라이스 복사도 원본과 같은 객체라고 판단
- pop이 반환한 값을 copied에 추가하는 과정을 누락
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.