Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

Ruby

Range Minimum Query (RMQ)

AOJの「Range Minimum Query(RMQ)問題」に取り組んでみました。 要約すると、数列に対し、次の2つの操作を行うプログラムを作成する問題です。 : をに変更する。 : の最小値を出力する。 単純で非効率なアルゴリズムならすぐに思いつきますが、効率の良いア…

Sinatra+ActiveRecordでBBSを作ってみる

「Sinatra 入門 - Qiita」は、Sinatra, ActiveRecordの初歩について学ぶのに非常に分かりやすくまとめられていると思います。概要を学ぶのに参考になったのですが、 11掲示板アプリを作ってみよう 以降、そのままだとコメントの削除機能など、動作しない部分…

ブラウザからRaspberry Piに接続されたServoを動かす実験

Raspberry PiにサーボモータとWebカメラを接続し、Mac上のブラウザからカメラの画像を見ながらサーボモータを制御する実験を行ってみました。 実験なので、サーボモータとWebカメラは両面テープで貼り付けています。 以前、個別に取り組んだこと NTPサーバの…

天気に応じてLEDの点灯パターンを変える(2)

「天気に応じてLEDの点灯パターンを変える - Mae向きなブログ」では、Raspberry PiからYahoo天気予報のピンポイント天気にアクセスし、現在の時刻の天気に応じてLEDの点灯パターンを変えるスクリプトを作成しました。 このスクリプトでは、まだ「曇り」の場…

B1クラブ全チーム(18チーム)選手を身長の高い順に並べ替え

第93回天皇杯・第84回皇后杯全日本バスケットボール選手権大会のファイナルラウンドが1月4日(木)~7日(日)の日程で始まります。 大会公式ホームページの 3次ラウンド出場チーム にB1クラブ全チーム(18チーム)のプレイヤーリストが掲載されていますので、身長…

B1クラブ全チーム(18チーム)選手の出身校人数調べ

第93回天皇杯・第84回皇后杯全日本バスケットボール選手権大会のファイナルラウンドが1月4日(木)~7日(日)の日程で始まります。 大会公式ホームページの 3次ラウンド出場チーム にB1クラブ全チーム(18チーム)のプレイヤーリストが掲載されていますので、選手…

2017年、読んだ本のリスト

カエルの楽園 魔法の世紀 火車 (新潮文庫) 爆発的進化論―1%の奇跡がヒトを作った―(新潮新書) 授業時間 100%活用 スポーツ脳はこう鍛えろ! Unity5入門 最新開発環境による簡単3D&2Dゲーム制作 数学ガールの秘密ノート/積分を見つめて (数学ガールの秘密ノ…

天気に応じてLEDの点灯パターンを変える

Raspberry PiからYahoo天気予報のピンポイント天気にアクセスし、現在の時刻の天気に応じてLEDの点灯パターンを変えるスクリプトです*1。 タクトスイッチを押すと、Yahoo天気予報にアクセスし、天気に応じてLEDを点灯させます。 get_yahoo_weather.rb 実行の…

RubyでPOSTリクエストするには?(2)

昨日Macで行った「RubyでPOSTリクエストするには? - Mae向きなブログ」を、最近は電源を入れられることもなく、ホコリをかぶっているRaspberry Pi上のArch Linuxでやってみたところ、以下のようなエラーが発生しました。SSL証明書関係のエラーなのでしょうか…

RubyでPOSTリクエストするには?

『Raspberry PiでIFTTTのMaker WebhooksにPOSTする - Qiita』では、Pythonを使っているのですが、Rubyでやろうとするとどんな感じになるんだろうということで書いて見ました。Pythonと比べて行数が多いのですが、Rubyでももっとシンプルに書けるものでしょう…

ウインターカップ2017男子出場選手を高い身長順に並べ替え

今年もウインターカップが楽しみな時期になってきました。例年通り、今年も「出場校 | ウインターカップ2017 平成29年度 第70回全国高等学校バスケットボール選手権大会」で公開されているデータを元に出場選手の中で身長の高い選手をピックアップしてみまし…

ウインターカップ2017男子出場校を平均身長で並べ替え

今年もウインターカップが楽しみな時期になってきました。例年通り、今年も「出場校 | ウインターカップ2017 平成29年度 第70回全国高等学校バスケットボール選手権大会」で公開されているデータを元に出場校を平均身長順に並べてみました。 男子*1 学校名 …

ウインターカップ2017女子出場選手を高い身長順に並べ替え

今年もウインターカップが楽しみな時期になってきました。例年通り、今年も「出場校 | ウインターカップ2017 平成29年度 第70回全国高等学校バスケットボール選手権大会」で公開されているデータを元に出場選手の中で身長の高い選手をピックアップしてみまし…

ウインターカップ2017女子出場校を平均身長で並べ替え

今年もウインターカップが楽しみな時期になってきました。例年通り、今年も「出場校 | ウインターカップ2017 平成29年度 第70回全国高等学校バスケットボール選手権大会」で公開されているデータを元に出場校を平均身長順に並べてみました。 女子*1 学校名 …

目盛りの消えた定規

「目盛りの消えた定規(Sparse ruler)」という面白い問題があるんですね。 例えば、6cmの定規の場合、1cmと4cmの所に目盛りがありさせすれば、1cmから6cmまでを計測することができるというものです。詳しくは参考サイトで説明されているのですが、自分の理解…

平成29年度春季応用情報午後問3

平成29年度春期 応用情報技術者試験(AP)の午後問題3は幅優先探索、深さ優先探索、枝刈りに関する問題でした。 2017h29h_ap_pm_qs.pdf h29h_ap_pm3.rb 実行結果 $ ruby h29h_ap_pm3.rb #<struct Status total=99, selectedNumbers=[10, 34, 55], nextIndex=4> #<struct Status total=99, selectedNumbers=[55, 34, 10], nextIndex=0></struct></struct>

平成29年度春季基本情報午後問8

平成29年度春季 基本情報技術者試験(FE)の午後問題8は学生時代から何度となく出会ってきたダイクストラ法の問題でした。 2017h29h_fe_pm_qs.pdf h29h_fe_pm8.rb Rubyだともっと効率よく書けそうですが、できるだけ疑似言語に近づけて書いてみました。 実行結…

平成29年度秋季応用情報午後問3

平成29年度秋期 応用情報技術者試験(AP)の午後問題3はナップザック問題でした。動的計画法を学習する際のテッパン問題ですね。 2017h29a_ap_pm_qs.pdf h29a_ap_pm3.rb 実行結果 $ ruby h29a_ap_pm3.rb C Bを選んだとき 価値合計 = 15

平成21年度秋期応用情報午後問2

平成21年度秋期 応用情報技術者試験(AP)の午後問題2は文字列照合に関する問題でした。 2009h21a_ap_pm_qs.pdf 文字列照合といったら、遥か昔、学生時代に 単純に比較していくアルゴリズム クヌース–モリス–プラット法 - Wikipedia ボイヤー-ムーア文字列検索…

平成23年度特別試験応用情報午後問2

平成23年度特別試験 応用情報技術者試験(AP)の午後問題2は集計表(CSV)をHTMLに変換して出力するプログラムに関する問題でした。 2011h23tokubetsu_ap_pm_qs.pdf h23tokubetsu_ap_pm2.rb input.csv 東京都,千代田店,23500 東京都,中央店,33500 東京都,港店,18…

平成25年度春季応用情報午後問2

平成25年度春季 応用情報技術者試験(AP)の午後問題2は逆ポーランド記法に関する問題でした。 2013h25h_ap_pm_qs.pdf h25h_ap_pm2.rb 実行結果 $ ruby h25h_ap_pm2.rb 1 2 3 * + 2 3 + 4 * 参考 Problem 93 - Mae向きなブログ 逆ポーランド記法電卓 - Mae向き…

平成26年度春季応用情報午後問3

平成26年度春季 応用情報技術者試験(AP)の午後問題3はフロイドの循環検出法の問題でした。循環小数の循環節を検出する問題…。なんか以前出会ったことがあるなと過去を振り返ってみると、Project EulerのProblem 26でした。そのときは、割った余りをハッシュ…

平成26年度秋季応用情報午後問3

平成26年度秋季 応用情報技術者試験(AP)の午後問題3はマージソートの問題でした。今までいくつかのプログラミング言語でクイックソートをはじめ何種類かのソートアルゴリズムを作ってはいますが、よく考えてみるとマージソートを作ったことはなかったような…

平成27年度春季応用情報午後問3

平成27年度春季 応用情報技術者試験(AP)の午後問題3はデータ圧縮の前処理として用いられるBlock-sorting(ブロックソート)に関する問題でした。学生時代(20年以上前)、データ圧縮について少し勉強したことがあるのですが、Block-sortingというアルゴリズムに…

平成27年度秋季応用情報午後問3

平成27年度秋季 応用情報技術者試験(AP)の午後問題3は2分探索木に関する問題でした。 2015h27a_ap_pm_qs.pdf データを8個挿入後の2分探索木とデータを2個削除した後の2分探索木を図示するようにしています。Gvizを使いましたが、左の子は左気味に右の子は右…

平成29年度春季応用情報午後問3

平成29年度春期 応用情報技術者試験(AP)の午後問題3を実際に入力して試してみました。 2017h29h_ap_pm_qs.pdf h29_ap_pm3.rb 実行例 $ ruby h29_ap_pm3.rb 99

イオンモール 総賃貸面積でランキング

地元の新聞に以下のような記事が載っていました。増床後の総賃貸面積は九州内のモールで2番目の広さになるようです。そう書かれると、九州内で一番広いところや日本で一番広いところが知りたくなります。 ということで、調べてみました。 イオンモール 総賃…

Zellerの公式

[改訂第3版]を購入して以来、かなり久しぶりに『[改訂第7版]LaTeX2ε美文書作成入門』を購入してみました。第3版のときには、第4章「パッケージと自前の命令」のところは斜め読みでしたが、今回は丁寧に読み進めてみました。p75にZellerの公式を使って日付…

レーベンシュタイン距離

レーベンシュタイン距離については、単語も中身も知っていたつもりなんですが、「文字列の違いを評価しよう | CodeIQ」に取り組んでみて、実は全く分かってなかったということが分かりました。 問題に取り組む前に、レーベンシュタイン距離(Wikipedia)で紹介…

火車

我が家の本棚にずっと眠っていた本。定価が857円の頃に購入していたようです。ボリュームのある本なので、少し読んでは挫折してというのを繰り返して、ようやく読み終えることができました。分水嶺を越えると一気に読むことができると思うのですが、そこを超…