Ruby1.9.4です。
<前提>
要素の数が0~4個の配列があります。
値は1~7,11~17,21~27のいずれかが入り、同じ数が重複する場合もあります。
並びは小さい順にソートされています。
<やりたい事>
配列の中身の内、いずれか3つの値を調べて
『十の位と一の位がそれぞれ、連続する数値の組み合わせ(順不同)であった時 フラグを立てる。』
という処理を行いたいです。
わかりにくいと思うので例を列挙します。
[]=>false
[1,12]=>false
[2,13,24]=>true #十の位と一の位がそれぞれ、連続する数値である
[4,12,23]=>true #true。一の位が4,2,3だが数値の順序は問わない
[5,6,7]=>false #十の位が一致してしまっている
[7,11,22]=>false #7と1は繋がったりはしない
[3,7,11,22]=>true #余剰データがあってもいずれか3つが条件にあっていればOK
[5,13,13,24]=>true #データが重複していてもOK
[1,4,13,22]=>true #条件が合う組み合わせが2つあっても、ただのtrue
一応自前の処理は動いてはいるのですが、
あまりにも『……。』な処理だったので今回投稿した次第です。
軽い処理が望ましいですが、考え方のみでも結構ですので
お知恵を拝借頂ければと思います。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。