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

a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]
b = []
for i in range(28):
num = int(input())
b.append(num)
ans=list(set(a)-set(b))
ans.sort()
print(ans[0])
print(ans[1])
오랜만에 풀어서 그런지 다소 무식한 풀이 방법을 쓴 것 같다..
위의 풀이를 좀더 깔끔하게 바꿔보면,
a=[i for i in range(1,31)]
for j in range(28):
a.remove(int(input()))
a.sort()
print(a[0])
print(a[1])
이렇게 쓸 수 있을 것 같다.
일일이 b라는 리스트를 또 만들어 append를 이용해 추가하고,
다시 a에 b를 빼는 번거로운 방법 말고 remove를 이용하면 간단하게 풀 수 있었다.
a.sort()
print(a[0])
print(a[1])
도 min과 max를 이용하면 굳이 sort를 이용하여 정렬을 해주지 않아도 될 것이다.
| [파이썬/python] 백준 2822번 : 점수 계산 (🥈5) (0) | 2022.11.04 |
|---|---|
| [파이썬/python] 백준 2750번 : 수 정렬하기 (🥉2) (0) | 2022.11.04 |
| [파이썬/python] 백준 9076번 : 점수 집계 (🥉2) (0) | 2022.11.04 |
| [파이썬/python] 백준 4562번 : No Brainer (🥉3) (0) | 2022.11.03 |
| [파이썬/python] 백준 4892번 : 숫자 맞추기 게임 (🥉3) (0) | 2022.11.03 |