0

私は持っています

strings = ["aaa", "bb", "ccc", "ddd", "e", "ff", "rrrrrrrr", "tttttttt", "a"]

各要素が5より長くなく、9より短くないように、配列内の文字列をグループ化します。文字列は、配列内での順序を維持する必要があります。

編集:混乱して申し訳ありません、はい-少なくとも5つ、最大で9つ。

私が探している結果は次のとおりです。

 result  = ["aaabbbccc", "dddeff", "rrrrrrrr", "tttttttta"]
4

1 に答える 1

1

あなたの質問はかなり紛らわしい方法で指定されていたので、これは私が思いつくことができる最高のものです。

strings.inject(['']) { |a, s| a.last.size + s.size <= 9 ? a.last << s : a << s ; a }
#=> ["aaabbccc", "dddeff", "rrrrrrrr", "tttttttta"]
于 2012-07-11T08:48:12.323 に答える