정답 코드:
a = [int(x) for x in range(1,31)]
b = [int(input())for i in range(28)]
c =list(set(a)-set(b))
print(min(c),max(c),sep='\n')
코드 풀이:
조금 조잡한 코드가 나왔는데, 맞춰서 기분은 좋다..
1.1~30까지 학생 번호가 들어있는 리스트 a를 만든다
2.과제 제출한 학생 28명의 번호를 입력 할 리스트 b를 만든다
3.제출하지 않은 학생은 a,b 리스트의 차집합을 구하면 되기에
set(a),(b)의 차집합을 c 리스트에 넣고,
최소값,최댓값을 구분자 \n로 출력하면 된다.!
좋은 코드 공부!
x=list(map(int,range(1,31)))
for i in range(28):
x.remove(int(input()))
for j in x:
print(j)
풀이:
remove함수를 이용해서 더욱 깔끔하게 코드를 짰다.
list(map(int,input,range()) 문법도 배웠다!
그 뒤 for문으로 x.remove(int(input())으로
x배열에 입력값들을 빼주고,
x배열을 차례대로 출력하면 정답이 되는 간편한 코드!
처음 내가 풀었던 코드랑 메모리, 시간은 동일하지만
가독성이나 간결함은 훨씬 좋고, remove 함수를 쓴 게
멋있어서 채택했다.