nan + nan = 2nan

[백준][Python3] #5597. 과제 안 내신 분..? 본문

Python/백준 알고리즘

[백준][Python3] #5597. 과제 안 내신 분..?

2nan 2023. 1. 14. 22:02
728x90


코드 입력

test = [num for num in range(1, 31)]

for i in range(1, 29):
    input_num = int(input())
    test.remove(input_num)

print(min(test))
print(max(test))

 

input해야 하는 조건때문에 또 헷갈린 문제다.

input하는 대상을 randint로 1~30 이하 중에 while 문으로도 만들어봤는데,

왜인지 자꾸 런타임 에러가 발생했다.  이유를 모르겠어서

구글링을 해서 정답 로직을 대략적으로 찾아냈다.

로직 자체가 어려운 것이 아니어서, 왜 내가 시도했던 코드가 안 되는 것인지 아는 것이 중요할 것 같은데,

이유를 모르겠다..

# 원래 시도했던 코드 (런타임 에러 발생)
test = []

while True:
    a = random.randint(1, 30)
    if a not in test:
        test.append(a)
        if len(test) == 28:
            break
    else:
        continue

for i in range(1, 31):
    if i in test:
       test.remove(i)

print(min(test))
print(max(test))

출처 : 백준 Online Judge

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

 

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

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

www.acmicpc.net

 

Comments