この問題ではプログラミングの基礎文法である if
文と for 文を組み合わせて解くことが出来ます。
実装のヒントは問題文に書いてあるので、それ通りに実装をしましょう。
文字 が登場している単語の数を とし、各英小文字が出現している単語数を とします。
以下のステップをたどることでこの問題を解くことが出来ます。
for
文をまわして各単語についてみます。各英小文字がその単語内にあるか判定ならば、存在するならばそれに対応するものをインクリメントします。in
演算子を用いることで存在判定を容易に実装することが出来ます。n = int(input()) S = [] for i in range(n): s = input() S.append(s) E = list("abcdefghijklmnopqrstuvwxyz") C = [0] * 26 for i in range(n): for j in range(26): if(E[j] in S[i]): C[j] += 1 print(max(C))
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<string> s(n); for (int i = 0; i < n; i++) cin >> s[i]; int maxCount = 0; for (int i = 0; i < 26; i++) { int count = 0; for (int j = 0; j < n; j++) { for (int k = 0; k < s[j].size(); k++) { if (s[j][k] - 'a' == i) { count++; break; } } } maxCount = max(maxCount, count); } cout << maxCount << endl; }