結果

問題 No.39 桁の数字を入れ替え
ユーザー tjnt
提出日時 2021-11-03 16:16:26
言語 Haskell
(9.10.1)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 652 bytes
コンパイル時間 4,486 ms
コンパイル使用メモリ 176,128 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-13 06:19:34
合計ジャッジ時間 5,187 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
[2 of 2] Linking a.out

ソースコード

diff #
プレゼンテーションモードにする

import Data.List
import Data.Maybe (fromJust)
swap :: Int -> Int -> [a] -> [a]
swap i j a = go 0 a
where
go _ [] = []
go k (x:xs)
| k == i = (a !! j) : go (k+1) xs
| k == j = (a !! i) : go (k+1) xs
| otherwise = x : go (k+1) xs
solve :: String -> String
solve a = go a rs
where
rs = reverse . sort $ a
go [] [] = a
go _ [] = a
go [] _ = a
go (x:xs) (r:rs)
| x == r = go xs rs
| otherwise =
let i = fromJust $ elemIndex x a
j = last $ elemIndices r a
in swap i j a
main :: IO ()
main = do
n <- getLine
putStrLn $ solve n
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0