반응형
https://www.acmicpc.net/problem/1453
문제
세준이는 피시방에서 아르바이트를 한다. 세준이의 피시방에는 1번부터 100번까지 컴퓨터가 있다.
들어오는 손님은 모두 자기가 앉고 싶은 자리에만 앉고 싶어 한다. 따라서 들어오면서 번호를 말한다. 만약에 그 자리에 사람이 없으면 그 손님은 그 자리에 앉아서 컴퓨터를 할 수 있고, 사람이 있다면 거절당한다.
거절당하는 사람의 수를 출력하는 프로그램을 작성하시오. 자리는 맨 처음에 모두 비어있고, 어떤 사람이 자리에 앉으면 자리를 비우는 일은 없다.
입력
첫째 줄에 손님의 수 N이 주어진다. N은 100보다 작거나 같다. 둘째 줄에 손님이 들어오는 순서대로 각 손님이 앉고 싶어 하는 자리가 입력으로 주어진다.
출력
첫째 줄에 거절당하는 사람의 수를 출력한다.
예제 입력 | 예제 출력 |
3 1 2 3 |
0 |
풀이
1. 1과 6이 2번 나왔다.
2. 즉 1, 2, 4, 5, 6번 자리에 손님이 있는 상태에서 1번과 6번에 한번 더 들어오기 때문에 거절을 당한다.
3. 1번 자리에서 1번 거절, 6번 자리에서 1번 거절
4. 총 결과는 2번 거절을 당한다.
코드
#include <iostream>
#include <iostream>
using namespace std;
int main() {
int test;
cin>>test;
int arr[101]={0,};
int num;
int cnt=0;
int sum=0;
for(int i=0; i<test; i++){
cin>>num;
cnt=num;
arr[cnt]++;
}
for(int i=1; i<=100; i++){
if(arr[i]>=2){ // keypoint
sum+=arr[i]-1;
}
}
cout<<sum;
return 0;
}
|
cs |
반응형
'백준 > C++' 카테고리의 다른 글
[BaeKJoon/C++] 백준 10384 c++ 팬그램 (2) | 2022.03.06 |
---|---|
[BaeKJoon/C++] 백준 2902 c++ KMP는 왜 KMP일까? (0) | 2022.03.05 |
[BaeKJoon/C++] 백준 1871 c++ 좋은 자동차 번호판 (0) | 2022.03.03 |
[BaeKJoon/C++] 백준 10988 c++ 팰린드롬인지 확인하기 (0) | 2022.03.02 |
[BaeKJoon/C++] 백준 4999 c++ 아! (0) | 2022.03.01 |