結果
| 問題 |
No.49 算数の宿題
|
| コンテスト | |
| ユーザー |
toshiro_yanagi
|
| 提出日時 | 2025-04-29 18:14:56 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 89 ms / 5,000 ms |
| コード長 | 890 bytes |
| コンパイル時間 | 578 ms |
| コンパイル使用メモリ | 8,192 KB |
| 実行使用メモリ | 13,056 KB |
| 最終ジャッジ日時 | 2025-04-29 18:15:02 |
| 合計ジャッジ時間 | 2,860 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 |
コンパイルメッセージ
Syntax OK
ソースコード
class Main
def start
a = wash(input.split("")).reverse
v = 1
s = "*"
while true
x, flg = get_next_value a
v = calc(v, x, s)
break if not flg
a, s = get_next_symbol a
end
echo ans = v
return nil
end
private
def calc(v, x, s)
case s
when "*"
v * x
when "+"
v + x
end
end
def get_next_symbol(a)
s = a.pop
return a, s
end
def get_next_value(a)
s = ""
while a.size > 0 && (0..9).map(&:to_s).include?(a.last)
s += a.pop
end
flg = a.size > 0 ? true : false
return s.to_i, flg
end
def wash(a)
b = []
for ai in a
case ai
when "*"
b += ["+"]
when "+"
b += ["*"]
else
b += [ai]
end
end
return b
end
def echo(*x)
print(*x)
puts
end
def input = gets.chomp
end
Main.new.start
toshiro_yanagi