schedule2018-07-21

Python3で言語処理100本ノックのまとめ

この記事は、言語処理100本ノック 2015に挑戦した記録をまとめたものです。 各ページではより深く理解するため、別解や利用したライブラリの解説もまとめていきます。

週に1つペースで更新していきたいと思います。 3章で1年間止まってしまいました。やる気が出たのでまた続けます。

第1章: 準備運動

テキストや文字列を扱う題材に取り組みながら,プログラミング言語のやや高度なトピックを復習します.
文字列, ユニコード, リスト型, 辞書型, 集合型, イテレータ, スライス, 乱数

第2章: UNIXコマンドの基礎

研究やデータ分析において便利なUNIXツールを体験します.これらの再実装を通じて,プログラミング能力を高めつつ,既存のツールのエコシステムを体感します.
head, tail, cut, paste, split, sort, uniq, sed, tr, expand

第3章: 正規表現

Wikipediaの記事を以下のフォーマットで書き出したファイルjawiki-country.json.gzがある.

  • 1行に1記事の情報がJSON形式で格納される
  • 各行には記事名が"title"キーに,記事本文が"text"キーの辞書オブジェクトに格納され,そのオブジェクトがJSON形式で書き出される
  • ファイル全体はgzipで圧縮される
    以下の処理を行うプログラムを作成せよ.