반응형
백준 5597번 / 과제 안 내신 분...? : https://www.acmicpc.net/problem/5597
이번 문제는 X대학 M교수님의 프로그래밍 수업을 듣는 30명의 학생 중, 특별 과제를 제출한 28명의 출석번호가 주어졌을 때, 과제를 제출하지 않은 나머지 두 학생의 출석번호를 찾아내는 코드를 만드는 것이다. 출석번호는 1번부터 30번까지 있으며, 결과는 두 학생의 출석번호를 작은 번호부터 한 줄에 하나씩 출력해야 한다.
문제를 푸는 아이디어의 발상은 간단하다. 1~30이 담긴 리스트를 만들고, 입력받은 출석 번호들을 지워나가면 두 개만 남는 것을 이용한다.
문제를 푸는 흐름은 다음과 같다.
- 1부터 30까지의 숫자가 모두 포함된 리스트를 생성한다.
- 28번 반복하면서 과제를 제출한 학생의 출석번호를 입력받는다.
- 입력받은 출석번호를 전체 학생 명단 리스트에서 제거한다.
- 28명의 번호를 모두 제거하고 나면 리스트에는 두 개의 번호만 남게 된다. 이 두 번호가 과제를 제출하지 않은 학생들의 번호이다.
- 남은 두 번호 중 작은 번호를 먼저 출력하고, 큰 번호를 그 다음 줄에 출력한다.
내가 만든 코드는 다음과 같다.
list1 = []
for i in range(1,31):
list1.append(i)
for j in range(28):
a = int(input())
list1.remove(a)
max = max(list1)
min = min(list1)
print(min)
print(max)
출력 결과는 다음과 같다.
반응형
'파이썬 > 예제' 카테고리의 다른 글
백준 10811번 바구니 뒤집기 - swap 매커니즘 (0) | 2025.05.19 |
---|---|
백준 3052번 나머지 - 리스트 2개 사용하기 (0) | 2025.05.19 |
백준 10813번 공 바꾸기 - 스왑(swap) 사용하기 (0) | 2025.05.19 |
백준 10810번 공 넣기 - 리스트 & 조건문 (0) | 2025.05.19 |
백준 2562번 최댓값 - 리스트 활용하기 (0) | 2025.05.19 |