Boj5176 대회자리

Published: by Creative Commons Licence

문제에 나온 조건을 그대로 코딩하면된다.. 하나의 배열을 선언해놓고, 처음 0으로 초기화를 한 후, 입력을 받으면서 배열을 확인한다.

  • 배열 값이 0이면 배열값을 1로 바꾼다.
  • 배열 값이 0이 아니면 이미 누가 자리에 앉은 거이므로, 자리에 앉지 못한 사람수를 1을 더해준다.
#include<iostream>
using namespace std;
int t, arr[510], n, m,num;
int main() {
	scanf("%d", &t);
	while (t--) {
		int ans = 0;
		scanf("%d %d", &n, &m);
		for (int i = 0; i <= m; i++) arr[i] = 0;
		for (int i = 0; i < n; i++) {
			scanf("%d", &num);
			if (arr[num] != 0) ans++;
			else arr[num]++;
		}
		printf("%d\n", ans);
	}
}