1日1題Paizaを解いて新しい解き方を探す有効性
auです。
就活などをしてエンジニア職を探していると、高確率でプログラミングの問題を受けることになります。
ですが、対策をしようにも、問題を解けるところってあまりないよなということを、友人と話していたのですが、いいものがありました。
それがPaizaです。
数値を与えられて、それをこねくり回して答えの数値を求めるというのがオーソドックスな問題ですが、それが本番に近い形ででき、処理速度なども判定結果に含まれるので、計算量も考えなければいけません。
他にも、やっている操作は一緒でも、ステップ数を減らすための工夫も必要です。
例えば、リストの番号とリストの中身の両方を使いたい場合は、以下のようにやると楽です。
for i, n in enumerate(x): ... ---- i = 0 for n in x: ... i += 1
上記の二つの処理は同じです。
enumerateを使うことで、iの値をわざわざ1ずつ増やさなくてもよくなります。
大学で教えてもらったっけ・・・という書き方も多く学ぶことができるので、同じ結果にするにしても、色々なパターンを学ぶことができます。
友人に教える際に、「こんな方法もあるよ!」というとめちゃめちゃ感動されるので、やはり書き方のパターンを多く持つことはメリットであると感じます。
Paizaだと、問題のレベルがS~Dで分かれているのですが、就活の問題のレベルと見比べることで「この企業はPaizaでいうAを求めているんだな」という、簡単な指標を持つこともできます。
テストで落ちるのは悔しいので、これからも続けていこうと思います。