結果
| 問題 |
No.927 Second Permutation
|
| コンテスト | |
| ユーザー |
siman
|
| 提出日時 | 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
siman