ほぼ静的な計画法

競技プログラミングで解いた問題の解法とコードを晒していくページ。ややマイナーなC♯。

AOJ 0039 (Roman Figure : ローマ数字)

【問題】

https://onlinejudge.u-aizu.ac.jp/problems/0039

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0039

【解説】

ローマ数字の値を求める行う問題。

あらかじめ、アルファベットに対応した値のDictinaryを用意しておく。

あとは、「大きい数字の前にあって引き算を表す小さな数字は一回の引き算あたりひとつしかありません。」との制約から、与えられた文字列を先頭から順にみていき、次の文字よりも値が小さければその文字に対応する値を答えから引き、そうでなければ答えに足していくことで、答えを求めることができる。

最後の文字を足し忘れないように注意。(最後の文字は無条件に加算してよい)

【コード】