AtCoder エクサウィザーズ 2019 A,B問題を解いた

スポンサーリンク

昨日開催されたAtCoder「エクサウィザーズ 2019」に参加しました。
土曜日夜開催は嬉しいですね。日曜夜だと翌日に響くのでなかなか参加できず。
A、B問題までは解けたけど、C問題は解けなかったです。配点が500点で最初から解ける気はしなかったけれど。

使用言語はPython 2.7で、Macで動作確認して提出するという形にしました。

スポンサーリンク

A問題: Regular Triangle

3つの整数 A,B,C が与えられ、三辺の長さがそれぞれ A,B,C であるような正三角形が存在するかどうか答える問題です。

  • 入力: A,B,C (1以上100以下の整数)
  • 出力: “Yes” または “No”

A,B,Cが全て等しければ、正三角形と言えるのでそのように判定しています。

解答と関係ないですが、日本語のコメントを入れたらRuntime error(文字コードの記述忘れ)で時間をロスしたので、極力入れない方が良さそう。

あと、問題文をよく読まず、正三角形を二等辺三角形と勘違いしてミスったりと慌ただしく解いていました。

B問題: Red or Blue

1 から N までの番号が割り当てられた N 人の人がいます。それぞれの人は赤い帽子か青い帽子のどちらかを被っています。
N 人の帽子の色を表す文字列 s が与えられます。人 i は、si
 が R ならば赤い帽子を、B ならば青い帽子を被っています。
赤い帽子を被っている人が青い帽子を被っている人より多いかどうかを判定してください。

https://atcoder.jp/contests/exawizards2019/tasks/exawizards2019_b

RとBの数を数え、R>Bなら「Yes」を出力し違えば「No」を出力する問題と理解。

Pythonで入力した文字列をどうやって1文字ずつの配列にするのか悩んだのですが、listに変換するだけで済むみたいですね。便利だ。

あとはfor文を使ってlistから文字を取り出してカウントすれば良さそうですね。

【Python入門】for文を使った繰り返し文の書き方 - Qiita
※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。 参考サイト:(

今回書いたコード


感想

いやー、200点問題くらいまでなら解けるんですが、それより上となると相変わらず難しいですね。
多分、アルゴリズムとか数学の知識が必要なんでしょう。どっちもないから詰んでるわ。(とてもつらい)

久しぶりだったせいか、凡ミスが目立ちいつも以上に時間がかかりました。
場慣れしていかなければ。。
(レートは茶色のまま若干下がりました。)

来週の土曜日もABCがあるそうなので、参加します。
それでは。


コメント

タイトルとURLをコピーしました