Python3でエラトステネスの篩を用いて素数列を作成する

Share

最近LINEの新卒採用試験ズバリ問題解説~アルゴリズム問題編~という記事が少し話題になっていた(というか競技プログラミング勢から突っ込まれしまい、後日お詫びが掲載された)のを見かけたので、そこで取り扱われていたエラトステネスの篩(ふるい)について、記事を書いてみようと思う。

“Python3でエラトステネスの篩を用いて素数列を作成する” の続きを読む
Share

Python3での内包表記あれこれ

Share

内包表記(Comprehension)とは、あるリスト(などのイテラブル)から別のリスト(あるいはセットや辞書)を作成するような処理を行うときに、それを簡便に書くことができる記法だ。ちなみに、内包表記で書くと、普通に書き下すより動作も速くなることが多い。

今回の記事は、内包表記って何?という人から、内包表記の存在は知っているけど書き方がイマイチよく分からない……という人向けとなっている。

“Python3での内包表記あれこれ” の続きを読む
Share

競技プログラミングにおける、標準入力の取得例 in Python3

Share

問題を解く以前に、入力をどう取り扱ったらいいかイマイチ良く分からない、あるいは入力を取得するコードを書くところで悩んで時間を食ってしまう……という人向けの記事。

慣れれば誰でも簡単に書けるようになるので、一応それらしいパターンをまとめつつ、どうしてこういう書き方になるのか、ちょっとした解説をつけてみようと思う。

“競技プログラミングにおける、標準入力の取得例 in Python3” の続きを読む
Share

Union_Find (Disjoint Set Union) クラス in Python3

Share

とりあえずそこそこ形になったので、コードを。一応実コンテストでも使用してるので、そんなに間違いはないはず……。

2020/11/09 適当な拡張クラスを追加。グリッドのつながりをUnion Findで扱いたい時などに使えるかもしれない。

“Union_Find (Disjoint Set Union) クラス in Python3” の続きを読む
Share

プログラミングカテゴリの新設について

Share

僕のtwitterをご覧になっている人はご存知かもしれないが、最近ときどき、いわゆる競技プログラミング方面で遊んでいる。

そこで、これを読んでいるみなさんにも、競技プログラミングで遊んでもらおう(=仲間を増やそう)というわけで、この記事を書きつつ、プログラミングのカテゴリを新設することにした。

“プログラミングカテゴリの新設について” の続きを読む
Share