Chat:Ru/2021-08-11

From CG community
Jump to navigation Jump to search

gsomix: привет!

gsomix: давно сюда не заглядывал :)

Uljahn: хай

Default avatar.png TTeaLL: подскажите плез, надо подсчитать количество повторяющихся символов в строке скажем check = 'aaabbbccceee' какой символ и сколько повторяется, ответ должен быть типо a 3 b 3 c 3 e 3

Default avatar.png TTeaLL: питон, без словарей, чисто как-то циклами, вроде просто но чёт в циклах путаюсь

Uljahn: как без словарей?

Default avatar.png TTeaLL: без словарей нельзя думаешь?

Uljahn: а, ну можно брать первый символ и считать, сколько раз он встречается, потом удалять его из строки

Default avatar.png TTeaLL: ну просто я знаю решение со словарями, и мне сказали, что ещё есть без словарей, я даже написал, но он чуть некоректно выдаёт результат

Default avatar.png TTeaLL: а, так, вот это интересно

Uljahn: я бы вообще Counter использовал, но это словарь по сути

Uljahn: или groupby, если одинаковые символы всегда подряд

Default avatar.png TTeaLL: не, не подряд

Default avatar.png TTeaLL: это я так не самый сложный пример

Default avatar.png TTeaLL: я на скорую руку так написал

Default avatar.png TTeaLL: http://chat.codingame.com/pastebin/ee4bf4b7-4ed1-4770-acf7-c5c243d1928f

Default avatar.png TTeaLL: но он кучу раз печатает повторяющиеся значения, хотя и правильно, но вот чёт не приходит в голову, как сделать так, чтобы перчатал по одному разу каждую букву, ну типо не а 3 а 3 а 3 b 3b b3 b3 и тп, а просто a3 b3 e3 ну ты понял

Uljahn: берёшь первую букву, запоминаешь и печатаешь её, считаешь количество вхождений, печатаешь, удаляешь эту букву из строки, берёшь снова первую и т.д.

Uljahn: пока строка не пустая

Uljahn: while line: char = line[0]; print(char, line.count(char), end=" "); line = line.replace(char, "")

Uljahn: типа такого в голове крутится

Default avatar.png TTeaLL: чекну

AndyWasHere: заноси уже посчитанные символы в отдельную строку и проверяй, либо удаляй их из строки