Advent of Code 2023 1日目

明けましておめでとうございます。 昨年の年末、とある理由で2023 のAdvent of Code をちょっとずつ解いていたので、自分の解答や、ちょっとしたメモを残していこうと思います。 なお、全部pythonで書いています。 全部解き終わったタイミングで、まとめてgithubにあげようかなと考えていますが、いつになるかはわかりません。 それでは、早速Day 1 の解答を書いていきます。 Part a 問題の概要 数字と文字が混ざった文字列が与えられる。 この文字列のそれぞれの行に含まれる最初の数字と最後の数字を取り出し、それらを結合した数値を求める。 例: 1abc2 → 12 pqr3stu8vwx → 38 a1b2c3d4e5f → 15 treb7uchet → 77 課題は、与えられた入力ファイルの全ての行について、この方法で校正値を求めて合計することである。 この例では、4つの行の校正値(12 + 38 + 15 + 77)を合計すると142になる。 My solution from fastcore.utils import L from aocd import get_data, submit import re, regex from regex import findall def get_calibration_value(x:str): digits = re.findall(r"\d", x) return int(digits[0]+digits[-1]) def solve1a(inp:str): lines = L(inp.splitlines()) return lines.map(get_calibration_value).sum() Part b 問題の概要...

1月 7, 2025 · 1 分 · Kaoru Babasaki

『Pythonではじめる時系列分析入門』のorg version repoを作ったよ

最近、 馬場 真哉 (著) 『Pythonではじめる時系列分析入門』という本を読みました。 この本はpythonのコードを手で動かしながら時系列分析の基礎を学ぶことができる本で、とてもためになりました。 特にsktimeという、トレンド・季節性の除去などの前処理や予測モデルをsklearnのように簡単にpipeline化できるライブラリを知ることができた点がよかったです。 馬場先生はこの本の公式リポジトリを公開されているのですが、pythonコードがjupyter notebook形式で書かれているため、heavy emacserの私としてはどうしてもorg-modeを使いたくなってしまいました。 そこで、この本のコードをorg-mode形式に変換したリポジトリを作成しました。 リポジトリのリンク このリポジトリを使って、emacsユーザーの方々がこの本を読む際に、jupyter notebookを使わずにorg-modeでコードを実行できるようになればと思います。 特にないと思いますが、このリポジトリを使って何か問題が発生した場合は、pull requestやissueを送っていただけると助かります。 時系列分析勉強中のemacsユーザーは私に感謝したうえで今年のクリスマスは家族と過ごしてください。 読んでいただきありがとうございました。

12月 22, 2024 · 1 分 · B.Kaoru