BETA

初心者日記(19)『競プロとかいろいろ』

投稿日:2020-07-31
最終更新:2020-07-31

AtCoder



AtCoderのAC数が700を超えました。でも、ほとんど全灰ACのおかげ。
ただ、全く役に立たなかったとかはなかった。Pythonに出会えたのもAtCoderのおかげだし。
次は日曜開催、参加するつもり。

yukicoder

AtCoderとは別でyukicoderという問題サイトもある。ユーザーが問題を投稿でき、それを様々な人が解く。
E869120様の競技プログラミングにおける作問テクニックを総整理! 〜初心者から経験者まで〜も参考に一問作ってみたが、当然だが難しい。どういう問題文にしたら実行時間制限、出力を求めるための公式をいい感じに難しくできるか。初めてなので難易度1のシンプルな問題を一応作成できた。そのうち公開されると思うのでその時は...

import

2ヶ月前までは『C++難しそう...わからない...』とか『for文うまく回せない、ライブラリってなに?』って感じだったので競プロしてても成長する部分はあった。でも、流石に競プロだけやっててもコードを書くのと数学的に考えるのが早くなるで実務で役立つかというと微妙ということを理解してきたので、競プロ以外の部分で役立つ勉強をしていきたいなと考えた。

今まで『mathのfactorialを使いた~い』って考えたら

import math  
a = math.factorial(5)  

みたいな感じで書いてたらまぁいいかなと思っていた。
しかし、numpyというライブラリをimportするとき、

import numpy as np  

という書き方をしている人しかいなかった。
『asってなんやねん!』って。numpyをnpとして使えるようにするための宣言だった。

a = np.array([1,2,3])  

上に書いたmathではfactorialを使うのにmath.をつけていた。numpyならnumpy.と書くところを、宣言でnp.と書けるようにしている。
もう一つがfrom import。

from math import gcd  
a = gcd(5,4)  

fromとライブラリ名、そこからインポートしたいモジュールを宣言することで、本来ならmath.と宣言しないといけないところを省略して書けた。

機械学習

numpyを出したので分かったかもしれませんが、機械学習に手を出そうと思います。理由は『最近youtubeで見て面白そうだから』。『youtuberみたいに好きなことやって生きていきたいからyoutuber目指す!』というアホで楽観的な考えで現場で働いている人からバッシングされそうですが。まぁ、思い付きで行動しているので機械学習に必要なものがなにかも全く分かっていないです。Qiita等を見ても完璧に説明しているものはあらず...もうだめだぁ...

と前の自分なら考えていましたが、そりゃ無料でこの有益な情報を得られるわけないだろうと。ちゃんと本を買って機械学習について勉強することにしました。(でも機械学習よりもっと学ぶべきことがあるのでは...?)

PC、初期化

機械学習をするのに『numpy、pandas、matplotlib』という単語がかなり出てきたのでインストールしようと思った。しかしpipでインストールしようとしても『エラーでできません』の表示。多分、Userのファイル名が日本語になっているからそうなったんじゃないかなとその時は考えた。そして、データが壊れる可能性のある『ファイル名を英語にする』手順を踏み、その後の手順も順調に進んだ。はずだった...
途中でPCがフリーズし強制シャットダウン。ログインしようにも何かが破損しておりバグった。そこで泣く泣く初期化を選択。初期化後はちゃんと英語のファイル名にし、pipでインストールもできたが...今までのデータがすべて消えた...がGoogle Chormeで同期するとブックマークや保存したパスワードはそのままであり、他のダウンロードしていたものも娯楽の塊だったので、初期化の時間とvscode、Anacondaなどをダウンロードする手間以外はむしろ良かったのでは?

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

tnodino(つのでぃの)のブログ。日頃の内容を記事にしています。

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう