2008-11-28
算数にチャレンジ!
ruby | |
![]()
この問題で
とかで解かれてる問題ですが,うちは以下のようにやった.
class Array def reject_with_index! self.each_with_index do |e, i| self [i] = nil if yield(e, i) end self.compact! self end end nums = (1..512).to_a rule = 1 while nums.size > 1 do nums.reject_with_index! {|e, i| (i+1) % 2 == rule} rule = -rule + 1 end p nums
て,y_tsudaのコードみてて気づいたけどindexとかいう都合のいいメソッドがあるのか! なんでindexを使うと
nums = (1..512).to_a rule = 1 while nums.size > 1 do nums.reject! {|e| (nums.index(e)+1) % 2 == rule} rule = -rule + 1 end p nums
とかかけてかなりスッキリしたー
コメントを書く
y_tsuda2008/11/30 20:57まぁ、そんな感じの実装になるわなー。
トラックバック - http://bkc.g.hatena.ne.jp/hakobe932/20081128
