auの日記

プログラミング初心者の日記。(auはハンドルネームです)

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を求めているんだな」という、簡単な指標を持つこともできます。

テストで落ちるのは悔しいので、これからも続けていこうと思います。