백준/C++
[C++] 백준 1159번 - 농구 경기
꿩꿩
2024. 4. 1. 19:34
728x90
문제 1159번
https://www.acmicpc.net/problem/1159
1159번: 농구 경기
상근이는 농구의 세계에서 점차 영향력을 넓혀가고 있다. 처음에 그는 농구 경기를 좋아하는 사람이었다. 농구에 대한 열정은 그를 막을 수 없었고, 결국 상근이는 농구장을 청소하는 일을 시작
www.acmicpc.net
입력받은 이름의 첫글자에 해당하는 인덱스를 check 배열에서 1증가시켜준다. 여기서 알파벳에 'a'를 빼주면 해당 글자의 인덱스가 나오게 된다. 즉, 첫 글자가 a라면 'a'를 뺏을 때 0이 나온다.
그렇게 첫 글자의 개수를 다 세면 5이상인 글자가 있는지 확인하여 참가할 수 있다는 표시로 predaja에 false를 해준다. 그리고 모든 알파벳(사전순이기 때문에 a~z순으로)이 저장된 s에 해당 인덱스에 있는 알파벳을 출력해준다.
만약 5이상인 수가 없어서 predaja를 해야한다면(predaja가 true인 경우) PREDAJA를 출력한다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "abcdefghijklmnopqrstuvwxyz";
int check[26] = {}; //알파벳 26개
int N;
bool predaja = true;
cin >> N;
for (int i = 0; i < N; i++) {
string a;
cin >> a;
//이름 첫글자에 a를 빼면 인덱스가 나옴 해당 인덱스에 1증가
check[a[0] - 'a']++;
}
for (int i = 0; i < 26; i++) {
if (check[i] >= 5) {
predaja = false;
cout << s[i];
}
}
if (predaja) {
cout << "PREDAJA";
}
return 0;
}

728x90