Python으로 구현한 5176번 대회 자리 문제 풀이입니다.
https://www.acmicpc.net/problem/5176
k = int(input())
for _ in range(k) :
p, m = map(int, input().split())
data = [0] * (m + 1)
count = 0
for _ in range(p) :
value = int(input())
if data[value] == 0 :
data[value] = 1
else :
count += 1
print(count)
1. 입력받은 m + 1개 만큼 data 리스트를 구성하여 값은 0으로 초기화한다.
2. 각 참가자가 원하는 자리(value)를 입력받아 data리스트의 value자리가 0일 경우 그 자리에 앉을 수 있으며, 해당 값을 1로 갱신한다.
3. 0이 아닐 경우 이미 다른 사람이 앉아 있기 때문에 count를 1 증가시킨다.
4. 하나의 테스트케이스 내 반복문이 종료되면 최종적으로 count 값을 출력한다.
'백준(Python) 풀이 > 구현' 카테고리의 다른 글
백준(Python) 2386번 도비의 영어 공부 풀이 (0) | 2021.12.06 |
---|---|
백준(Python) 17389번 보너스 점수 풀이 (0) | 2021.12.03 |
백준(Python) 4470번 줄번호 풀이 (0) | 2021.12.03 |
백준(Python) 10930번 SHA-256 풀이 (0) | 2021.12.03 |
백준(Python) 13163번 닉네임에 갓 붙이기 풀이 (0) | 2021.12.03 |