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
반응형
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] [ Java ] 자바 객체지향 기초: 상속, 오버라이딩, 업캐스팅 | 정보처리기사 실기 기출문제 (0) | 2024.09.26 |
---|---|
[정보처리기사] [ Java ] 배열 생성 및 출력 해설 | 2020년 정보처리기사 기출문제 (0) | 2024.09.26 |
[정보처리기사] 재해 복구 시간(RTO) | 2020년 정보처리기사 실기 기출문제 (0) | 2024.09.26 |
[정보처리기사] SQL 문법(구문) | SQL 기본 구문 정리 select from where and/or group by having order by (0) | 2024.09.25 |
[정보처리기사] 애플리케이션 성능 분석: 처리량, 응답 시간, 경과 시간, 자원 사용률 | 2020년 정보처리기사 실기 기출문제 (0) | 2024.09.24 |