Все решают через множество циклов, переводят строку в массив символов. Я для счетчика каждой буквы в каждой строке взял разницу между исходной строкой и строкой с вырезанной буквой ( через replace()). Код получился очень компактный , но гложут сомнения ,что решение не идеальное. Код привожу только ту часть, которую писал я(остальная часть в задании без изменений ). Буду благодарен за критику.
for( Character letter: alphabet){ // беру каждую букву
int count=0; //счетчик для букв
for(String myString: list){ //для каждой введенной строки
String myLetter= Character.toString (letter) ;
count += (myString.length() -myString.replace ( myLetter,"").length());
//прибавляю к счетчику разницу между длинами строки и строки с вырезанной буквой
}
System.out.println(letter+" "+count);
}//
Рустам
17 уровень
Подскажите, есть ли какие подводные камни у моего решения
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Артём
4 апреля 2021, 16:36решение
Мне кажется что идеального кода вообще не существует) Ты просто зашёл к решению задачи немного с другой стороны чем все остальные. Но главное что всё работает. А за компактностью гнаться не стоит, код должен быть понятным и легко читаемым, преждевременная оптимизация - зло...)
+3