LoginSignup
0
0

More than 1 year has passed since last update.

python3でコーディングテストに受かるための自分メモ[9/7] (二重ループ、内包表記)

Posted at

今回paizaでまたrun time errorで怒られた。
しかし、今回はうまく解決できた

二重ループ

今回私が書いたプログラムは二重ループであった。
それで処理時間が長いと怒られたのだが、
二重ループ以外でこの問題を解決する方法がわからなかったので、
愚行かと思ったができるだけ書き方のみでプログラムの実行時間を短くできないか取り組んだ。

ループで回す対象をrange(int)からlst

最初はrangeで数字を回し、
二次元配列にindexでアクセスしていた。
これをlistでループを回しアクセスするときは一次元配列にした。
これでだいぶ実行時間が早くなり、エラーが解消された。
ちなみに、listをループを回したのは外側だけであり、
内側はindexのままである。

結論

paizaにrun time errorで怒られた原因は
二重ループが原因だったというより、多次元配列に二重ループでアクセスしたことにより、実行時間が膨らんだことが原因だった模様。

調べてわかった新たな知見

ループでindexを回すのであればできるだけ、配列を回した方が実行時間が早くなる
listの初期化では内包表記を使った方が少し早くなる。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0