おーじぇいブログ

ただひたすらに書きます。

おーじぇいの夏休み9日目(8/9)・AtCoderをはじめる

つい最近始まったかのように思えた俺の夏休み。あっという間に時間が流れ、すでに10日を経過しようとしています。

前のエントリでも書いたとおり、この夏は💪圧倒的成長💪をする予定で、毎日家に引きこもってはPCをカタカタする流れになってしまっています。いや、実を言うと初日から一昨日までずっと学校に通いっぱなしだったので、実質夏休みが始まったのは昨日ぐらいからなのですが。。。

んで、Vue.jsの勉強はかなり進んでいます。昨日Nuxt.jsにも手を出して、今はちょっとしたアプリを、ということで実家で使うデジタルサイネージシステムを作っています。昨日は時計をリアルタイム表示するコンポーネントを書いていました。

ついでにOpenMapWeatherのAPIも叩いて現在の天気を表示する部分も書きました。

ということで色々作っています。来週中には完成させたいなぁ……

AtCoderをはじめる

表題。AtCoderをはじめました。

AtCoderというのは、競技プログラミングをオンラインで行うサイトで、そのレーティングで自分のプログラミングスキルが測れてしまうというもの。自分はそう大したプログラムは書けないのですが、とりあえずやってみよう、ということでやってみました。(どういうこと)

まずはこのQiita記事を読んでノロノロやっていきました。ちなみに自分の使う言語はPython3です(これしか使えない)(よわい)

qiita.com

Welcome問題を解く

まずはTutorialで用意されている簡単なA問題から。

https://atcoder.jp/contests/practice/tasks/practice_1

f:id:OJ920:20190809151243p:plain
A - Welcome to AtCoder | おーじぇいの回答

なんだこのクソコード!?

とりあえず正解はしているのですが、色々とツッコミどころが多いですね……無駄な変数が多い気がしますね(これ良いのか悪いのかわからないので誰か強いマンおしえてください)

過去問へ

Welcome問題が終わったら、過去問をいくつか解いていきます。自分のコードを載せるのは気がひけるのですが、一応載せていきましょう。

AtCoder Beginner Contest 086 - A: Product

atcoder.jp

f:id:OJ920:20190809151925p:plain
A - Product | おーじぇいの回答

偶数/奇数判定、今回は余りを出す感じに実装しました。2で割って余りが0になれば偶数、それ以外は奇数です。例外はしらなーい。

AtCoder Beginner Contest 086 - B: 1 21

atcoder.jp

f:id:OJ920:20190809152307p:plain
B- 1 2 1 | おーじぇいの回答

まごうことなきクソコード。一度平方根を500*500まで計算してリストに入れておいてから、それに一致しているかどうかでYesかNoを返します。や、これもっと良い解き方あったんじゃないか……?

AtCoder Beginner Contest 081 - A: Placing Marbles

atcoder.jp

f:id:OJ920:20190809153518p:plain
A - Placing Marbles | おーじぇいの回答

a = a + 1ってa += 1で良くないすか?ということを提出してから気づいた……orz

とりあえず今日はここまで

もう少し解く時間を早くしたいね……これからも頑張りましょう。