다음 Python 프로그램에서 합집합과 차집합을 적용한 뒤 대칭차 연산으로 원소를 갱신하고 정렬했을 때의 출력 결과를 쓰시오.
base = {"seoul", "busan", "incheon"}
extra = {"jeju", "daegu", "seoul"}
blocked = {"incheon", "ulsan"}
result = (base | extra) - blocked
result ^= {"gwangju", "jeju"}
print("|".join(sorted(result)))모범답안
busan|daegu|gwangju|seoul
풀이와 판단 근거
base와 extra의 합집합은 seoul, busan, incheon, jeju, daegu다. blocked와의 차집합에서 incheon이 제거되고 ulsan은 원래 없어 영향이 없다.
대칭차 `^=`는 없던 gwangju를 추가하고 있던 jeju를 제거한다. 남은 네 문자열을 sorted로 정렬한 뒤 `|`로 연결하므로 `busan|daegu|gwangju|seoul`이 출력된다.
자주 틀리는 지점
- 대칭차를 합집합처럼 계산해 jeju를 남김
- blocked에 있는 ulsan도 결과에 추가된다고 봄
- 집합의 내부 순서 그대로 join되어 결과가 비결정적이라고 판단함
자동 판정 방식
한글·영문 동의어와 문항별 필수 개념을 확인하며, 정답 단어가 부정되거나 반대 개념과 함께 쓰이면 자동 정답으로 확정하지 않습니다. 부분점수는 ITPASSLAB의 학습용 예상 점수입니다.