SRM505 dvi2
思いの外Easyで時間をくってしまった。。。
MiddleもChallengeされてしまい、残念である。
難易度としてはそんなに難しくなかったのではと思われるのにこの結果。。。
Easy
与えられた文字列をカンマ+スペースで区切られた文章だと思って、各文の先頭文字を大文字化する問題。ただの文字列処理。
文が1つのみの場合とかを考えるのに手間取ったりもした。
以前よりはましだが、相変わらず文字列処理となると身構えてしまって、いくない。
Stringクラスの使えそうなメソッドをちょっとまとめる。
文字列を含んでいるかをチェックするときなどに有効。
文字列の置換。replaceとreplaceAllの違いは引数を文字列としてあつかうか正規表現としてあつかうか。
文字列の切り出しに。sub's'tringなので注意(間違うのは自分だけ?)
文字型配列に変換。new String(charArray)で文字列に再変換できる。
数字ー>文字列の変換に。formatを使えばformat("%05d", 10)などで0詰めができる。
文字列ー>数字は例えばInteger.parseIntなどがある。
parseIntは基数の指定もできる。10以外の基数での数字ー>文字列はtoBinaryString, toHexString, toOctalStringなど。
正規表現と一致するかをみる。
文字、文字列の出現位置
Middle
和と積が等しくなるように、数列の1つを変更する問題。問題自体は難しくないけど、境界のチェックがちゃんとしてないと通らない。
剰余計算するときは0でないかチェックするとか。
落ち着いて考えるべき。
Challengeも成功したけど、自分が落ちてはしょうがない。
Hard
ちゃんと考えてないけど、たぶん'Y'が各行、列に2つ以上入るように'Y'をたしてやればいいんじゃないかと。と思ったんだけど、探索だと計算量がとかどう書けばいいのかなとか考えてるうちに時間切れ。
これくらいのコードはちゃんと書けるようになりたい。
今回の成績
250: 164.50
500: Falied System Test
900: Opened
Challenge Succeeded: 1
Challenge Failed: 1
total: 169.50
評価:まだまだ頑張りましょう。