haskell продублировать буквы в строке

Функция f типа Char -> String -> String , которая принимает на вход строку и символ и возвращает строку, в которой продублированы все вхождения символа. Пример: f ’о' "Hello world!" должно возвращать "Helloо woоrld!".


Ответы (1 шт):

Автор решения: anton

Ну.. Вышло как то так...

duplicateChars :: Char -> String -> String
duplicateChars c target = concatMap (\i -> if i == c then replicate 2 i else [i]) target

main :: IO ()
main = putStrLn $ duplicateChars 'o' "Hello world!"
→ Ссылка