競プロ 1日目

どうもプログラミングの実力が足りないなぁ、でも達成感ないと続かないし。

ということで、競技プログラミングをブログとして日記がてら、復習しつつ記録していくことにしました。

サイトはAtcoderという日本語のサイトです。

ブログははてな以外で良いけど、と思いましたが、HTMLは使用できるそうですし、それをうだうだ言ってて進まなければ本末転倒なので、とりあえずこれを使います。

 

純粋な閲覧者様に向けて言うと、プログラミングは完全初心者です。

学校やめれる環境に産まれてる人間でもないので、純粋に千里の道も一歩から、という進み方のが良いかなと思っています。

今回は初回なので、ブログ概要も書いてますが、基本内容重視です。

やったときに復習を書くので、連投もあり得ます。ご了承ください。

 

(言語:Python3 環境:Jupiter Notebook)

A - Welcome to AtCoderにチャレンジしました。

 結果、コンパイル時点でコンパイルエラーです。まともにコードを書けていません。

これくらいは暗記しないと、と反省しました。

 

≪出来ていたこと≫

・input()とint()は理解してるかはさておき、かけていました。

・map関数を利用する。map関数の形がmap(■■ ■■■)の形式であるのは、わかっていました。

・print('')に関しては、今回用法を完全にわかっていたと思います。

・formatを使うのはわかっていましたが、使い方を忘れていました。

 

≪出来ていなかったこと≫

・全体的に「何となくこれを使う」と理解してたのが、最大のエラー要因と思います。

・int型、string型などの使い分けがうろ覚えで、input()への理解が不足しています。

・map(),split()は根本的に理解してないです。

・formatは思い出し直す必要があるほど忘れてます。

 

 以上の理由から、①input、②値型、③map、④split、⑤formatの順で確認していきます。

①input 標準入力⇔print(標準出力)

 inputは任意で入力されたものを表示、printは固定されたものを表示。

input()は入力された値を「文字列」として扱う。

故に、inputに入力された値を、数値として扱ってほしい場合は、困る。

なので、この場合float型やint型を使用する。

 

*参照 https://www.sejuku.net/blog/23823

 

 ②型の変換 の話に移ります。

主流の型

【数値型】

・int型(整数型)

・Float型(浮動小数点型)

数値をint()で囲うことで、型の変換は完了します。

input()されたものをint()で変換する必要があります。

 

③map関数

map関数はmap(function,リスト)の形式でかく。

function部分に一定のルールを記述することで、そのルール通りにリストの中の値をすべて変更してくれる。

おまけのfilter関数。同様の形式filter(function,リスト)で表す。

mapとの違いはリスト全部でなく、条件にあてはまったもののみ。

参照

https://rara-world.com/python-map-filter/

諸々気になる部分は残るものの、文章が長くなるので、次の話。

④split関数

文字列名.split(“ 区切り文字 ”) とすることで、区切り文字で区切られたリストを得ることができる。

*区切り文字がスペースや、改行、タブであるときは、特に区切り文字を指定しなくても、区切ることができる。

https://qiita.com/Morio/items/38701038ad098dd5dc3d

⑤format関数

'{指定したい書式の型}'format(変数)で表す。

複数の場合、区切りは{}{}.format(,)になる。

 

復習はここで終わりです。

コード書けるようになるまで試してみます。