タグ: ruby

コーディングスキル判定の麻雀問題を解いてみた

こちら(makeplex salon:あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定 (1/2) – ITmedia エンタープライズ)の麻雀問題を Ruby で解いてみた。 以前やった迷路探索問題(人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか)の作者の問題らしい。 Gauche 穴掘り法で迷路作成 最短経路探索プログラムの試験問題を解いてみた 麻雀…続きを読む

Python の if __name__ == ‘__main__’: を Perl, Ruby, PHP で行う

以下の Python コードの if 文の本体は、直接スクリプトとして呼び出された場合のみ実行され、ライブラリとして読み込まれた場合は実行されない。 if __name__ == ‘__main__’: # do something 同様のコードを Perl, Ruby, PHP で書く方法を調べてみた。 Perl の場合 if ($0 eq __FILE__) { # do something …続きを読む

最短経路探索プログラムの試験問題を解いてみた

以前読んだブログに、とある求人の際のプログラミングの実技試験についての記事(人生を書き換える者すらいた。: 人材獲得作戦・3)があった。 その時は問題内容については、『ちょっとしたパズル』としか書かれていなかったが、記事の続編が投稿されたようで、試験問題の内容が公開されていた。 人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほか 試験問題は迷路の最短経路探索プログラム。 最初、アルゴリ…続きを読む

シュワルツ(シュウォーツ)変換 (Schwartzian Transform)

コレクションを操作する際に、各要素に変換を行った要素に基づいて操作を行うが、欲しい結果は変換を行った要素のコレクションではなく元の要素のコレクションである場合に利用する。 文字列の配列を大文字・小文字を無視してソートする場合を考える。 # 文字列の配列 ary = ["foo", "Bar", "baz", "HOGE&quot…続きを読む

Ruby ひらがな・カタカナ変換をする

最初、tr で変換すると文字化けしてしまった。tr で日本語を使うには require "jcode" する必要があるらしい。 #!/usr/bin/env ruby -w # -*- coding: utf-8 -*- $KCODE = "u" require "jcode" # String クラスの tr メソッドで日本語を使用可能…続きを読む