https://www.acmicpc.net/problem/5597

 

5597번: 과제 안 내신 분..?

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데,

www.acmicpc.net

 

문제

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다.

교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.

 

코드

li=[i for i in range(1,31)]
    
for _ in range(28):
    data=int(input())
    li.remove(data)

print(min(li))
print(max(li))

1~30까지 들어있는 리스트 li 생성후, 28번 입력을 받고 입력받은 숫자를 li 리스트에서 제거한다.

그러면 1~30중에서 제거되지 않은 두 숫자가 과제를 제출하지않은 학생의 번호이다.

 

출력은 min, max 함수를 이용해서 한다.

 


remove() 함수

remove 함수는 값으로 array의 요소를 삭제한다.

array.remove(x)

삭제하려는 값이 두개 이상이면, 앞에 있는 값을 삭제한다.

배열의 인덱스 값으로 삭제하려면 pop(인덱스값) 함수를 이용한다.

복사했습니다!