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