Solved.ac - Python/Bronze V
[파이썬/Python] 백준 5597번 과제 안 내신 분..?
ImJay
2022. 10. 4. 12:20
반응형
[파이썬/Python] 백준 5597번 과제 안 내신 분..?
5597번: 과제 안 내신 분..?
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데,
www.acmicpc.net
문제
X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.
교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.
코드
student = [False for i in range(30)]
for i in range(28):
number = int(input())
student[number-1] = True
for i in range(30):
if not student[i]:
print(i+1)
풀이
1. student 리스트를 선언하여 인덱스 0 ~ 29 번 값을 False 로 초기화 해줍니다.
student = [False for i in range(30)]
- 파이썬에서 리스트를 특정 값으로 초기화 하는 방법입니다.
student = [False] * 30
두 방법 모두 동일하게 사용할 수 있습니다.
2. 과제를 제출한 28명 학생의 출석번호를 입력 받고,
입력 받은 출석번호 - 1 에 해당하는 인덱스의 값을 True 로 선언해줍니다.
for i in range(28):
number = int(input())
student[number-1] = True
3. student 리스트의 값을 모두 확인하여, 값이 True 가 아닌 경우 해당 인덱스 + 1 ( i + 1 )를 출력합니다.
인덱스(i)가 0부터 시작하기 때문에, 가장 작은 번호부터 출력한다는 출력 조건 또한 만족시킬 수 있습니다.
for i in range(30):
if not student[i]:
print(i+1)

반응형