2012-01-01から1ヶ月間の記事一覧
ワンライナーで:) 先頭行の数だけ後続行から最長文字列を選ぶ
ループを使って 綺麗にかけない.. 文字の並び中の繰り返しを見つける
Array#-を使って 文字列がパングラムか判定する
どうすりゃいいのか スタックを実装する
アルファベットの並びにおける位置
いやいやもっと簡単な方法があるはずだ バイナリーツリーの共通の親を見つける
Enumerable#detectで 文字列中の繰り返さない最初の文字
String#deleteで 文字列から指定文字を除く
Array#packを使って システムのエンディアン
String#countで 数字の2進表現の1ビットの数
ループで全組合せを作ってArray#max 数字の並びにおける連続する数字群の最大値
10進数を2進数に
ワンライナーで:) 文字列中のサブ文字列を見つける
Array#combinationを使って 数字列から合計が指定数になる数字のペアを見つける
本気じゃないよね? 適当なところで メールアドレスの正規表現
余計な条件がよくわからない.. 数字列中の重複を見つける
Array#each_consを使って 並びの数字の差が3 2 1となってるものを Jolly Jumperというらしい
回文になるまでループして 数字をひっくり返して足すことを繰り返して 回文になる回数
Enumeratorをtake_whileして 指定数までの素数列
ループで繰り返し引いて 丸め誤差の問題でちょっと.. 整数化してやったほうがいいの? お釣りをコインとお札で Double Squaresを残してModerate終了 できそうもない..
id:Naruhodiusさんに倣って僕もやってみました:) class Integer def ordinalize suffix = if (fd=abs%10).between?(1,3) && !abs.between?(11,13) %w(_ st nd rd)[fd] else 'th' end "#{self}" + suffix end end (-25..25).map(&:ordinalize) # => ["-25th",…
仕事の生産性を上げるためには時間管理は重要です きちっとした時間管理ができてこそ プロフェッショナルと言えるでしょう 欧米の弁護士の報酬は多くはタイムチャージとなっていて 彼らは案件ごとの実働時間をカウントして それに自分の単価を掛けて顧客に請…
ふつうにArray#reverseを使って 単語の語順を入れ換える
またまたEnumeratorを使って 1つ目の数字より大きい2つ目の数字の最小の倍数
Integer#to_s(2)で 1つ目の数字のビットにおける2つの位置の一致を見る
String#downcaseで 全部小文字化
各桁の合計
メモ化を使って n番目のフィボナッチ数 (追記:2012-2-2) id:rochefortさんによるメモ化 def fib(n) @cache ||= [] @cache[n] ||= (n<2)? n : fib(n-2) + fib(n-1); end Fibonacci Series - うんたらかんたら日記 なるほどこちらのほうが見やすいです でこれ…
printfで揃える 九九のテーブルを作る
Enumerable#injectを使って 各行の数字の合計