k242hd's memo

RubyとAndroidと時々TopCoder

息抜きにSRM 603 Div2 easyを解いてみた。

本番は参加しませんでしたけど、翌日に解いてみました。

使用した言語はJava(これしか使えない)

 

問題文はこちらから。

簡単に説明すると、

  • Stringの文字列 s が与えられます
  • 返す文字列を t とします
  • sの長さが奇数だったら、sの真ん中の文字をtの末尾に追加します。
  • 偶数だったらsの中央の2つの文字を比較して、アルファベット順で若い方をtの末尾に追加します。
  • tの末尾に追加した文字をsから削除します
  • sの長さが0になるまで上記の操作を繰り返し、tを返します

こんな感じですね。

 

自分が解いた結果は以下の通り。

SRM 603 Div2 easy

 

ちょっとカッコつけようと3項演算子を使った結果、ただ単にわかりにくいだけのコードに...

もうちょっとスマートに書けないかなー。