Количество букв

  • 12
  • Недоступна
Вам никогда не казалось, что букв в алфавите — слишком много? Компьютеры вполне обходятся двумя, а у нас их целых 33. Непозволительная избыточность! Тем не менее, приходится мириться с реальностью и решать соответствующие задачи. Вот одна из них: введите с клавиатуры 10 строчек и подсчитайте в них количество различных букв.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (581)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Иван
Уровень 11, Белгород
около 11 часов назад
я объединил все строки в одну, перевел ее в массив, а дальше сравнил символы из алфавита с символами из моего массива, увеличивая и обнуляя переменную счетчика, параллельно выводя на экран. Показалось не сильно сложно)
Евгений N
Уровень 10
15 мая, 11:18
в общем 2 принципиальных подхода: или а) перебираем введенные символы и увеличиваем соответствующий счетчик алфавита (как в решении jr или ниже было через HashMap) или б) перебираем алфавит и для каждой буквы считаем её во всех введенных строках. просмотрел пару страниц комментариев, такого варианта не нашел: не перебирать строки посимвольно, а сразу посчитать число вхождений, например через replace (число вхождений = длина до замены - длина после замены): пс как-то замена 1 символа типа Char на пусто кривовато выглядит s.replace( ""+x,""); 😰
Егор Комаров
Уровень 11
27 марта, 13:27
Проще простого, всего-то два дня мучений
Анатолий
Уровень 14, Екатеринбург
12 ноября 2021, 07:00
господа, массив строк ArrayList<String> list можно сложить просто в одну строку и спокойно работать с ней, перебирая ее через charAt , и последовательно сравнивая с символами из List<Character> alphabet.
Борис
Уровень 27
4 ноября 2021, 12:43
Решил через два for. Счётчик объявил (int count) до тела цикла(for(int i = 0; i < alphabet.size(); i++)). Пол дня потратил на "отладку". Может кому-то это поможет
Saturn
Уровень 15, Днепр, Украина
2 ноября 2021, 13:26
Так как сообразительность сегодня у меня хромает, то пошел по простому, но длинному пути расписывая все подряд, главное что решил. Хотя "правильное решение" и решения других заслуживают внимания больше, чем мои 80 строчек кода не учитывая того что дано по умолчанию 😅
Алексей
Уровень 31
28 октября 2021, 18:57
В решении java rush хитро придумано. Решил напролом через три цикла for. Первый цикл перебирает буквы алфавита. Второй цикл - строки. Третий через charAt сравнивает букву алфавита с буквой в строке. Если буквы равны, то увеличивает счетчик. После выхода из второго цикла выводим букву из алфавита + счетчик. Обнуляем счетчик.
Mark
Уровень 19, Москва, Россия
3 ноября 2021, 17:04
Пришел в итоге к такому же решению☝🙃
Денис
Уровень 16, Москва
12 декабря 2021, 21:05
Аналогично решил.
Андрей
Уровень 16
21 января, 08:14
3тий цикл писал почти день, жесть
Евгений N
Уровень 10
15 мая, 09:14
сделал также. мне мое решение понравилось 😁😋 а чего в решении jr хитрого? код в 2 раза больше, используют встроенную функцию indexOf а мы честно сами ищем 😁
Дима
Уровень 16, Новая Каховка, Украина
18 октября 2021, 08:57
У кого " Ё "в конце списка, при использовании TreeMap либо вообще хаос при HashMap, ловите подсказку от Сергея, которую он написал под одной из задач в разделе "Помощь" : "LinkedHashMap - в каком порядке добавляем, в таком и отобразит"
Эльдар
Уровень 17, Ростов-на-дону
9 октября 2021, 22:51
139 попыток
Anna Makarova
Уровень 13, Praha, Чехия
23 февраля, 01:49
Вы чемпион! А почему бы не воспользоватья зеленой кнопкой Run?
Кирилл Козлов
Уровень 35, Москва, Россия
2 октября 2021, 18:17
Создаём список букв создаём массив int[33] пробегаемся по списку букв (foreach) если буква совпадает с буквой из алфавита, то по индексу (alpabet.indexOf()) то инкрементируем нужную переменную из массива var[alpabet.indexOf()]++; потом просто выводим наш alphabet и массив интов нужным образом.