https://www.acmicpc.net/problem/5176
5176번: 대회 자리
이번 ACM-ICPC 대회의 자리는 참가자들이 직접 정한다. 참가자들은 예비 소집일에 자신이 원하는 자리를 미리 정해놓았고, 대회 당일에 어제 적어놓은 자리에 앉으면 된다. 여러명이 같은 자리를
www.acmicpc.net
c++로 백준 5176번 문제를 풀어보겠다.
문제
이번 ACM-ICPC 대회의 자리는 참가자들이 직접 정한다. 참가자들은 예비 소집일에 자신이 원하는 자리를 미리 정해놓았고, 대회 당일에 어제 적어놓은 자리에 앉으면 된다. 여러명이 같은 자리를 적어논 경우에는, 먼저 도착한 사람이 그 자리에 앉게되고, 앉지 못한 사람은 대회에 참가할 수 없다.
각 사람이 선호하는 자리가 주어졌을 때, 대회에 참가하지 못하는 사람의 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스는 다음과 같이 구성되어 있다.
첫째 줄에 참가자의 수 P와 자리의 수 M이 주어진다. (1 ≤ P, M ≤ 500) 다음 P개 줄에는 각 참가자가 원하는 자리가 주어진다. 자리는 1번부터 M번까지 있다. 입력으로 주어지는 참가자가 도착하는 순서이다.
출력
각 테스트 케이스에 대해서, 대회에 참가하지 못하는 사람의 수를 출력한다.
예제 입력 1 복사
3
4 1
1
1
1
1
4 4
1
2
3
4
4 4
1
4
1
4
예제 출력 1 복사
3
0
2
<문제 풀이>
1. T를 입력받는다.
2. for문을 T번 돌며 주어진 문제를 해결한다.
- for반복문 코드 내용 -
P, M을 입력받는다.
크기가 P인 arr배열을 선언한 후 P개의 숫자를 입력받아 배열에 저장한다.
크기가 M인 sit배열을 선언한다.
arr배열의 숫자를 하나씩 고려하며 그 숫자가 나타내는 sit배열의 값이 0이라면 1로 바꿔주고, 1이라면 count값을 하나 증가시킨다.
계산한 count값을 출력한다.
코드는 다음과 같다.


'C++' 카테고리의 다른 글
[백준 알고리즘] 1918번 : 후위 표기식, c++ (0) | 2022.05.09 |
---|---|
[백준 알고리즘] 1068번 : 트리, c++ (0) | 2022.05.08 |
[백준 알고리즘] 2399번 : 거리의 합, c++ (0) | 2022.05.07 |
[백준 알고리즘] 9366번 : 삼각형 분류, c++ (0) | 2022.05.05 |
[백준 알고리즘] 1822번 : 차집합, c++ (0) | 2022.05.03 |