250点問題 EllipseCoverage
問題自体は簡単だったけど、楕円というだけで難しく考えすぎていた。「楕円の内側にある点の数を求めろ」って問題だったわけだけど、問題文に書いてある通りにプログラムを書けば楕円であることは気にする必要もなかった。Java(C/C++でもほとんど同じだが)だと以下のようにやればいいだけだった…。
-200と200は範囲に含める必要はなさそうだけど気分的な問題で追加。英語の文章+楕円ってだけで難しく考えすぎで23分もかかり164.84ポイント。頭固すぎ…まぁ、平均186と若干点数が低いあたり、楕円に騙された人が多かったのかな?と思う。
for(int x = -200; x <= 200; x++){
for(int y = -200; y <= 200; y++){
(x, y)と(x1, y1)の直線距離を計算
(x, y)と(x2, y2)の直線距離を計算2つの直線距離の合計がd未満なら(x, y)が楕円の
内側の点とみなし、楕円の内側の点の数に1を足す
}
}
500点問題 Glossary
単語をソートして指定されたフォーマット通りに出力しろという問題。単語は大文字と小文字を区別しないでソートする必要があるため、TreeMapのキーにtoUpperCaseした文字列、値に元の文字列を指定して追加した。指定されたフォーマットが意外にめんどくさくて時間がかかったが、AからMまでのArrayListとNからZまでのArrayListにわけて解決。27分で解いて303ポイント取得
1000点問題 PlatformJumper
解けなかった。問題を読んだとき一瞬マリオを想像した