pyてよn日記

一寸先は闇が人生

一人けんちょん本を読む Advent Calendar 2021 - 1 投稿目

ものすごく雑なアドカレですが、こつこつやっていきます。進めた日に日記的な感じで進捗を書いていきます。

qiita.com

今日やったこと

  • どういう風にアルゴリズムとデータ構造を学ぶかの方針を立てた
  • アルゴ式を進めた

詳細

どういう風にアルゴリズムとデータ構造を学ぶかの方針を立てた

  • 教材
    • アルゴ式
    • けんちょん本
  • 勉強の方針
    • 「アルゴ式→けんちょん本」という形で進めていく。
    • ただし必ずしもこの通りではなく、けんちょん本を読み進められそうならそっちを優先する。
  • 使用言語
    • Python
      • 以前競プロ(AtCoder)で C++ を使っていたので本当は C++ でやりたかった。しかし、これから就活でコーディングテストを行なう際に、アルゴリズムだけでなく Web 周りや日付を扱う問題などが出たときに Python の方が楽な場合が多いので Python を選択した。あまり時間を割ける状態にないので「どっちの言語でもやる」という選択肢はなし。(言語の習熟度合いにも依ると思うので異論は認めます)

アルゴ式

algo-method.com

けんちょん本

www.amazon.co.jp

アルゴ式を進めた

今日は初めてアルゴ式に触れ、標準入出力の章を終わらせた。

f:id:pytwbf201830:20211208011257p:plain

学んだこと

Pythonmap 関数の扱いに少し慣れた。メソッドチェーンっぽい書き方を覚えた。

  • ポイント
    • map や filter を使った処理では、これらの関数が返すイテレータの段階ではまだ関数は評価されない。for 文や list(map(...)) 等でイテレータが処理される段階で初めて各要素に対する関数が評価される(遅延評価)。(理解が浅いので間違っている可能性があります。)
N = int(input())
A = map(int, input().split())
F = filter(lambda x: x % 3 == 0, A) # 3 の倍数のみをフィルタリング

for n in F:
    print(n)

参考

docs.python.org

qiita.com

blog.utgw.net