BeakJoon/Python

[Python] 백준 #5597번 : 과제 안내신 분..?

쿼딩~ 2023. 9. 27. 00:28


조건 :

  • 학생은 30명, 제출자는 28명
  • 입력은 총 28줄로 한 줄에 하나씩 주어지게 만들어야함
  • 결과 출력은 2줄로 되어야함
  • 먼저 가장 작은 것을 출력하고, 그 다음 출석번호를 출력해야함

코드


#빠른 런타임을 위해 input() 대신 sys.stdin.readline()을 쓰기 위해 불러옴
import sys

#num_list에 1 부터 30 까지 리스트로 저장
num_list = [i for i in range (1,31)]

#for문을 통해 입력받는 숫자는 num_list에서 삭제
for _ in range(28):
    num_list.remove(int(sys.stdin.readline()))

#리스트 앞에 '*'을 붙여 언패킹하여 print함수에 전달
#전달받은 print함수는 전달받은 각 요소를 각각 '\n' 으로 구분하여 출력
print(*num_list, sep = '\n')

알게된 점

  • 리스트를 만들고 리스트에 1부터 (?) 까지 채우고 싶으면 list = [i for i in range (1,31)] 로 1줄로 간단하게 만들 수 있음
  • list.remove(int(sys.stdin.readline())을 통해 입력받은 정수를 리스트에서 삭제 할 수 있음
  • print(*list, sep = '\n')에서 리스트에 '*'을 붙여 언패킹하여 하면 리스트의 요소들을 각각 print함수에 전달할 수 있다.