정보처리기사 실기 - 2020년 1회 파이썬 기출 풀이(집합 자료형 set의 특징과 중복 처리 문제)

Alchemist·2025년 10월 5일

정보처리기사

목록 보기
98/114

✨ 문제

a = {'일본', '중국', '한국'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update(['홍콩', '한국', '태국'])
print(a)

🎯 출제 의도

  • 파이썬 set(집합) 자료형의 특징 이해
  • add(), remove(), update() 메서드의 동작 원리 확인
  • 중복 데이터 처리 방식출력 순서 비보장 개념 확인

📘 개념 정리

1. 집합(set)의 기본 특징

  • 중복을 허용하지 않는다.
  • 순서가 없다 (즉, 인덱스로 접근 불가).
  • 집합 내 동일한 요소를 여러 번 추가해도 한 번만 저장된다.
a = {'일본', '중국', '한국'}

➡ a에는 "일본", "중국", "한국" 3개의 원소가 들어 있음.

2. 요소 추가: add()

a.add('베트남')
a.add('중국')
  • '베트남'은 새로 추가됨.
  • '중국'은 이미 존재하므로 중복으로 인한 변화 없음.

3. 요소 삭제: remove()

a.remove('일본')
  • '일본' 원소가 제거됨.
  • remove()는 존재하지 않는 원소를 삭제하면 KeyError가 발생하지만, 여기서는 '일본'이 존재하므로 정상 작동.

4. 여러 요소 추가: update()

a.update(['홍콩', '한국', '태국'])
  • 리스트([])에 포함된 원소들을 집합에 한꺼번에 추가함.
  • '한국'은 이미 존재하므로 중복으로 인해 추가되지 않음.

📝 풀이 과정

단계실행 코드집합 a의 상태
초기값{'일본', '중국', '한국'}3개 원소
① add('베트남'){'일본', '중국', '한국', '베트남'}
② add('중국')변화 없음 (중복 무시)
③ remove('일본'){'중국', '한국', '베트남'}
④ update([...])'홍콩', '태국' 추가 → {'중국', '한국', '베트남', '홍콩', '태국'}
  • 최종적으로 a에는 5개의 원소가 존재한다.
    ('일본'은 제거, '중국'은 중복 제외)
  • set은 순서가 없기 때문에, 출력 순서는 달라질 수 있다.

✅ 최종 출력 결과

{'중국', '한국', '베트남', '홍콩', '태국'}

💡 정리

이 문제에서 꼭 알아야 할 개념:

  • set은 중복을 허용하지 않는다.
  • add() → 한 개 원소 추가
  • update() → 여러 개 원소 한꺼번에 추가
  • remove() → 해당 원소를 삭제 (없으면 오류)
  • 출력 순서는 일정하지 않다. (비정렬 구조)
profile
html_programming_language

0개의 댓글