ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 5597번 : 과제 안내신 분..?
    Coding Test/백준 2024. 12. 12. 18:31

    과제 안 내신 분..? 

    문제

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

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

    입력

    입력은 총 28줄로 각 제출자(학생)의 출석번호 n(1 ≤ n ≤ 30)가 한 줄에 하나씩 주어진다. 출석번호에 중복은 없다.

    출력

    출력은 2줄이다. 1번째 줄엔 제출하지 않은 학생의 출석번호 중 가장 작은 것을 출력하고, 2번째 줄에선 그 다음 출석번호를 출력한다.

    예제 입력 1 복사

    3
    1
    4
    5
    7
    9
    6
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    

    예제 출력 1 복사

    2
    8
    

    예제 입력 2 복사

    9
    30
    6
    12
    10
    20
    21
    11
    7
    5
    28
    4
    18
    29
    17
    19
    27
    13
    16
    26
    14
    23
    22
    15
    3
    1
    24
    25
    

    예제 출력 2 복사

    2
    8

     


     

    정답

    #전체학생의 출석번호 생성
    Student = list(range(1,31))
    
    #제출한 학생의 출석번호 입력 후 리스트에서 제거
    for i in range(28):
        Num = int(input())
        Student.remove(Num)
    
    #미제출 번호 정렬 후 출력
    Student.sort()
    print(Student)

     

    이렇게 제출 했더니

     

     

    알고 보니 한줄이 아니라 각 줄에 결과를 출력해야한다.

     

     

    수정 코드

    #전체학생의 출석번호 생성
    Student = list(range(1,31))
    
    #제출한 학생의 출석번호 입력 후 리스트에서 제거
    for i in range(28):
        Num = int(input())
        Student.remove(Num)
    
    #미제출 번호 정렬 후 출력
    Student.sort()
    print(Student[0])  # 가장 작은 미제출 번호 출력
    print(Student[1])  # 두 번째로 작은 미제출 번호 출력

     

     

    'Coding Test > 백준' 카테고리의 다른 글

    [Python] 11654번: 아스키 코드  (1) 2024.12.16
    [Python] 2738번: 행렬 덧셈  (2) 2024.12.16
    [Python] 10807번: 개수 세기  (0) 2024.12.12
    [Python] 10871번 : X보다 작은 수  (1) 2024.12.11
    [Python] 10951번: A+B -4  (2) 2024.12.09

    댓글

Designed by Tistory.