본문 바로가기
BOJ/[BOJ] Python

백준 5597번 풀이

by Lv. 35 라이츄 2022. 11. 13.

문제

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

 

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

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

www.acmicpc.net

과제 안 낸 사람 출석번호를 낮은 순서대로 두개 뽑으면 된다. (근데 어차피 비는거 두개임)

 

풀이

자 이것도 투트랙은 투트랙인데... 입력을 너무 정직하게 28줄 받는다... 이러면 귀찮음... 그래서 로직 테스트는 small scale로 줄여서 했다.

 

import sys

student_list = [i for i in range(1,31)]
gwaje_list = []

for i in range(28):
    N = int(sys.stdin.readline())
    gwaje_list.append(N)

gwaje_list.sort()

일단 배열 생성하고 입력받는 부분은 이렇다. 그리고 과제 안 낸 학생을 찾을건데 이걸 어떻게 찾냐... 보면 리스트가 두 개 있는데 우리가 입력받는 리스트는 과제 리스트(과제 제출한 사람)고, 위에 스튜던트 리스트는 전체 학생 리스트이다. 즉, 전체 학생 리스트에서 과제 리스트를 조회해서 없는 번호를 출력할거다.

그럼 순서가 낮은 순인데 그건 어떻게 하냐고? 그래서 정렬했음.

 

for i in student_list:
    if i in gwaje_list:
        continue
    else: 
        print(i)

학생 리스트의 요소가 과제 리스트에 없으면 그건 안 낸거다. (끄덕)

'BOJ > [BOJ] Python' 카테고리의 다른 글

백준 2587번 풀이  (0) 2022.11.15
백준 2738번 풀이  (0) 2022.11.14
백준 10807번 풀이  (0) 2022.11.13
백준 10815번 풀이  (0) 2022.10.12
백준 1620번 풀이  (0) 2022.09.30

최근댓글

최근글

skin by © 2024 ttutta