1. 문제 접근
- 들어오는 문자열의 맨 첫 글자의 개수를 세야하는 코드
- 문자를 count하기 때문에 배열로 접근하자
2. 시행착오
3. 코드 및 풀이
3.1 배열 풀이
- 코드에서는
count
변수를 활용해서 기권 여부를 판단했지만, 다르게 할 수 있음
#include <bits/stdc++.h>
using namespace std;
int n;
int arr[26];
int cnt = 0;
string result;
int main(){
cin >> n;
for(int i = 0; i < n; i++){
string s;
cin >> s;
arr[s[0] - 'a']++;
}
for(int i = 0; i < 26; i++){
if(arr[i] >= 5){
cnt++;
result += i + 'a';
}
}
if (cnt == 0){
cout << "PREDAJA";
}
else {
cout << result;
}
return 0;
}
- 다음과 같이
ret
이라는 string변수에 해당 문자를 더해주는 방식 => ret
문자의 size가 0이라면 PREDAJA
반환
#include<bits/stdc++.h>
using namespace std;
int n, cnt[26];
string s, ret;
int main(){
cin >> n;
for(int i = 0; i < n; i++){
cin >> s;
cnt[s[0] - 'a']++;
}
for(int i = 0; i < 26; i++)if(cnt[i] >= 5) ret+= i + 'a';
if(ret.size()) cout << ret << "\n";
else cout << "PREDAJA" << "\n";
}
Reference