Все работает, - правильно считает букввы, но валидатор... не прохожу "Программа работала слишком долго..."
package com.javarush.task.task10.task1012;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
/*
Количество букв
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Алфавит
List<Character> alphabet = Arrays.asList(
'а','б','в','г','д','е','ё','ж',
'з','и','й','к','л','м','н','о',
'п','р','с','т','у','ф','х','ц',
'ч','ш','щ','ъ','ы','ь','э','ю','я');
// Ввод строк
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
String s = reader.readLine();
list.add(s.toLowerCase());
}
// напишите тут ваш код
Map<Character, Integer> alphabetMap = new TreeMap<>();
for (int i = 0; i < alphabet.size(); i++) {
alphabetMap.put(alphabet.get(i), 0);
}
ArrayList<Character> chars = new ArrayList<>();
// get string from list
for (int i = 0; i < list.size(); i++) {
String string = list.get(i);
// convert string to chars[] | verified
for (char ch : string.toCharArray()) {
chars.add(ch);
for (Map.Entry<Character, Integer> entry : alphabetMap.entrySet()) {
int counter = 0;
for (int j = 0; j < chars.size(); j++) {
char ch1 = chars.get(j);
Character alphaK = entry.getKey();
if (alphaK == ch1) {
counter++;
alphabetMap.put(alphaK, counter);
} else {
alphabetMap.put(alphaK, counter);
}
}
}
}
}
for (Map.Entry<Character, Integer> entry : alphabetMap.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}