코딩일기/자격증

[정보처리기사] [ Python ] 파이썬 집합(Set) 다루기 | 2020년 정보처리기사 기출문제

jhy_2023 2024. 9. 26. 12:16
728x90
반응형

2020년 2회 정보처리기사 실기 기출문제

문제

다음은 파이썬 코드이다. 출력 결과를 쓰시오.

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

정답

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


해설

이 문제는 파이썬의 집합(set) 자료형을 다루는 기본적인 문제입니다. set은 중복을 허용하지 않으며, 순서가 없는 데이터 구조입니다. 이 문제에서는 add, remove, update 메서드의 사용을 묻고 있습니다.

필수 개념 정리

  • add(): 집합에 원소를 추가합니다. 중복된 값은 추가되지 않습니다.
  • remove(): 집합에서 해당 원소를 제거합니다. 존재하지 않는 값을 제거하려고 하면 에러가 발생합니다.
  • update(): 집합에 여러 원소를 한 번에 추가합니다. 중복된 값은 무시됩니다.
  • 집합(set): 순서가 없고, 중복을 허용하지 않는 자료형입니다.
    • 중복된 값이 없다: 집합은 동일한 값을 두 번 이상 포함할 수 없습니다. 즉, 중복된 값은 자동으로 제거됩니다.
    • 순서가 없다: 리스트(list)나 튜플(tuple)과 달리 집합은 순서가 없는 자료형입니다. 따라서 인덱스를 이용해 특정 값을 접근할 수 없습니다.
    • 가변 자료형: 집합은 리스트처럼 값을 추가하거나 제거할 수 있는 가변 자료형입니다. add(), remove(), update() 등의 메서드를 사용해 값을 추가하거나 삭제할 수 있습니다.
    • **중괄호 {}**를 사용해 집합을 선언할 수 있습니다. 단, 비어 있는 집합을 만들 때는 반드시 **set()**을 사용해야 합니다. 중괄호 {}로는 비어 있는 딕셔너리가 생성되기 때문입니다.
반응형
a = {'일본', '중국', '한국'}
a.add('베트남')       # '베트남' 추가
a.add('중국')         # '중국'은 이미 존재하므로 중복 없이 유지
a.remove('일본')      # '일본' 제거
a.update(['홍콩', '한국', '태국'])  # '홍콩', '태국' 추가, '한국'은 이미 존재하므로 중복 제거
print(a)              # 출력: {'중국', '한국', '베트남', '홍콩', '태국'}
  • 집합 초기화:
    a = {'일본', '중국', '한국'}
    → 현재 집합은 {'일본', '중국', '한국'} 입니다.
  • add('베트남'):
    '베트남'을 추가합니다.
    → {'일본', '중국', '한국', '베트남'}
  • add('중국'):
    '중국'은 이미 집합에 포함되어 있으므로 아무 변화가 없습니다.
    → {'일본', '중국', '한국', '베트남'}
  • remove('일본'):
    '일본'을 제거합니다.
    → {'중국', '한국', '베트남'}
  • update(['홍콩', '한국', '태국']):
    여러 요소를 한꺼번에 추가하는 메서드입니다. '한국'은 이미 존재하므로 중복되지 않고, '홍콩'과 '태국'만 추가됩니다.
    → {'중국', '한국', '베트남', '홍콩', '태국'}
728x90

 

[참고]

집합(Set)은 순서가 없는 자료형이기 때문에 출력 순서는 일정하지 않을 수 있습니다. 제가 언급한 순서는 한 예시일 뿐이며, 실제 출력은 { '중국', '한국', '베트남', '홍콩', '태국' }처럼 될 수도 있습니다. 집합의 원소는 중복되지 않으며, 출력될 때의 순서는 임의로 정해집니다.

정답 예시:

  • { '중국', '한국', '베트남', '홍콩', '태국' }
  • { '한국', '중국', '베트남', '홍콩', '태국' }
  • { '베트남', '중국', '한국', '홍콩', '태국' }
  • 기타 원소 순서가 다른 형태...

이처럼 집합의 순서는 무작위이므로, 출력 결과는 원소들이 포함된 상태에서 여러 가지 순서로 나타날 수 있습니다.

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형