ebisukeプログラミング初心者脱出黙示録

30歳を過ぎてから始めたプログラミングと競プロの記録。Pythonで取り組んでいます。Arduinoで電子工作も

Python

dequeの使い方【Python】

Pythonの標準ライブラリcollectionsのdeque型による両端キューの使い方を記事にしていきます。深さ優先探索や幅優先探索など様々な場面で活用できるので、しっかり覚えたいですね。 dequeの特徴 リストとdeque比較した場合、操作する要素の位置によって速度…

エラトステネスの篩で素数列挙【Python】

ある値以下の素数を列挙する方法のひとつにエラトステネスの篩(ふるい)があります。この記事ではPythonでエラトステネスの篩をプログラミングしていきます。 エラトステネスの篩とは 次のように整数n以下の素数を高速にすべて列挙する方法です。まず2からn…

ライブラリbisectによる二分探索【Python】

AtCoderなどの競技プログラミングを行っていると二分探索を使う場面があります。線形探索と比較して大きなデータに対しても短い時間で処理できることが利点です。この二分探索を行うライブラリがbisectで、使い方を記事にしたいと思います。 ソート import b…

Pythonで解くAtCoder版!蟻本(初級編)

AtCoder 版!蟻本 (初級編)であげられているプログラミングコンテストチャレンジブック(通称 蟻本)の類題をPythonで取り組みました。

Pythonにおける二次元配列のソート

Pythonで二次元配列をソートのすることがあり、その内容をまとめます。二次元配列に対して昇順と降順のsortを試していきます。 特定の要素(例では2番目の要素)に対するソートも確認していきます。 二次元配列のソート 昇順 sort() array = [[2, 3, 4], [1,…