問題概要
文字列 A が与えられる。辞書式順序で A より小さい文字列を一つ出力せよ。存在しない場合は -1 で示せ。
解法
文字列であって、辞書式順序で最小のものは "a" です。従って、基本的には "a" を出力すればよいことなります。ただし、A = "a" だった場合、A より小さい文字列は存在しないので -1 が答えになります。
コード
main = do s <- getLine putStrLn $ case s of "a" -> "-1" _ -> "a"
文字列 A が与えられる。辞書式順序で A より小さい文字列を一つ出力せよ。存在しない場合は -1 で示せ。
文字列であって、辞書式順序で最小のものは "a" です。従って、基本的には "a" を出力すればよいことなります。ただし、A = "a" だった場合、A より小さい文字列は存在しないので -1 が答えになります。
main = do s <- getLine putStrLn $ case s of "a" -> "-1" _ -> "a"