[PYTHON] 5597 과제 안 내신 분...?

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

     

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

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

    www.acmicpc.net

    문제 풀이

    • 출석 번호 1~30번 중 28명만 입력되었고 나머지 2명의 출석 번호를 출력하는 문제
    • 출석 번호는 오름차순으로 출력합니다.

    soltion - 실패

    import sys
    
    Nber_list = [int(sys.stdin.readline().strip()) for _ in range(1,29)]
    
    student = []
    for i in range(28):
      if i+1 not in Nber_list:
        student.append(i+1)
    print(*student, sep= '\n')
    • 출석번호가 1번부터 30번까지 있는데 28번까지 있고 2명이 제출하지 않았다고 착각했습니다.
    • 항상 급하게 문제를 풀지말고 문제 요구사항을 꼼꼼히 읽읍시다!

    solution - 성공

    import sys
    
    Nber_list = [int(sys.stdin.readline().strip()) for _ in range(1,29)] # 28명의 출석번호를 입력받아 리스트에 저장한다.
    
    student = []
    for i in range(30): # 출석번호 1번부터 30번까지 하나씩 순회하면서 입력값에 속하지 않는 출석번호를 리스트에 담는다.
      if i+1 not in Nber_list:
        student.append(i+1)
    print(*student, sep= '\n')

    댓글