TopCoderをはじめてみた
最近いろんなところでTopCoderのエントリを見かけるので登録してみた。
以下のWikiを参考に、登録した。
登録するには、いろいろ個人情報をいれなきゃいけないし、全部英語でちょっと萎えた。
なんとか登録して、アリーナを起動しようとしたら、なぜかFirefoxだとうまく起動できない。
だんだん面倒になってくる><
仕方ないのでSafariを使ったらうまく起動できた。
とりあえずPractice Roomに入って、200点問題を解いてみた。
簡単な英語しか使われていないし、よくわからなくてもExamplesってところに入力/出力の例が書いてあるのでなんとかなった。
でもやっぱり英語を読むのが面倒だった…。
内容としては秒数が渡されて、それをH:M:Sという形式にして出力するという感じ。
3661が渡されたら1:1:1だし、86399なら23:59:59という感じ。
DateやSimpleDataFormatを使うのか、あれはほとんどLongのミリ秒が基本だよなぁとか考えて、結局シンプルに割り算してみた。
焦りながら書いたので、とりあえず動くだけのいけてないコードだけど、記念に貼付けておく。
public class Time { public String whatTime(int seconds){ int h = seconds / 60 / 60 ; int m = (seconds - h * 60 * 60 ) / 60; int s = (seconds - h * 60 * 60 - m * 60 ); return new String(h + ":" + m + ":" + s); } }
登録はちょっと面倒だけど、やってみるとなかなか楽しかった。
TopCoderはすごい人たちががりごり書く戦場かと思ってた。
こんなことを思っていたひとも多いのではないだろうか。
Practice Roomの問題はいろんな難易度があって、そこまで難しくない問題もあるので、ちょこちょこプログラミングの練習するのにいいなと感じた。
ちょっと気になっていたひとは、とりあえず登録して、簡単な問題を眺めてみるといいと思う。