結果
問題 | No.927 Second Permutation |
ユーザー |
![]() |
提出日時 | 2020-08-11 12:22:57 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 378 ms / 2,000 ms |
コード長 | 496 bytes |
コンパイル時間 | 58 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 17,792 KB |
最終ジャッジ日時 | 2024-10-09 11:21:00 |
合計ジャッジ時間 | 7,321 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
コンパイルメッセージ
Main.rb:9: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:44: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
X = gets.to_i N = X.to_s.size counter = Hash.new(0) nums = X.digits.sort.reverse vals = nums.uniq if vals.size < 2 puts -1 exit end nums.each do |n| counter[n] += 1 end ans = [] while vals.size >= 3 v = vals.shift counter[v].times do ans << v end end if vals.size >= 2 a = vals[-2] b = vals[-1] (counter[a] - 1).times do ans << a end ans << b ans << a (counter[b] - 1).times do ans << b end end if ans[0] == 0 puts -1 else puts ans.join end