Haskellでやってみた。
import Char main = print $ problem "Abc012_59F_#012Gh" problem :: String -> String problem = proc . break (== '#') proc :: (String, String) -> String proc (s, ss) = (map (toLower . reverseDigit) s) ++ ss reverseDigit :: Char -> Char reverseDigit c | isDigit c = (intToDigit . (9-) . digitToInt) c | otherwise = c
abc987_40f_#012Gh
関数名てきとーでごめんなさい。
もっときれいに書けそう。