Problem Solving
알고리즘 :: 백준 :: 1159 - 농구 경기
soreDemo
2025. 1. 7. 10:28
❔문제
🔄 문제 및 입출력 조건 파악
- 1 ≤ 선수의 수 ≤ 150
- 각 선수의 성 ≤ 30글자, 소문자로 이뤄짐.
- 성의 '첫 글자'가 같은 선수가 5명이상
- 있다면 해당 첫글자들을 출력
- 없다면 PREDAJA 출력.
✏️ 문제풀이
- 중요한 건 입력받은 문자열의 첫 글자입니다.
- 이전 문제(10808 알파벳 개수)에서 다뤘듯이, 소문자에 대응하는 26칸의 카운팅 배열을 만듭니다.
- 각 이름의 첫 글자에 대응하는 배열 값을 증가시킵니다. ( `배열[(첫글자)-'a']++` )
- 카운팅 배열을 순회하며 값이 5 이상이라면 다시 `(인덱스)+'a'`해줘서 소문자로 출력해줍니다.
📝 코드
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
array<int, 26> alpha = {0, };
string S;
cin >> S;
for (char c : S) alpha[c - 'a']++;
for (int i : alpha) cout << i << ' ';
}
🕧 결과