■条件
・通し番号は3文字
・左側の文字について
・A~Zまでのアルファベット大文字
・Zまで進むとその次はAに戻る
・真ん中のアルファベットがzからaに進むタイミングでインクリメントする
・真ん中の文字について
・アルファベット小文字
・zまで進むとその次はaに戻る
・右側の文字が7から1に進むタイミングでインクリメントする
・右側の文字について
・1~7までの数字
・7まで進むとその次は1に戻る
・通し番号の最小の位
・処理を開始する通し番号は今回は決め打ちでBr6
ruby
1def test_method(first_year,second_year) 2in_group = "Br6" 3 4 groups = [] 5 groups[0] = in_group 6 a1 = in_group.slice(0) 7 a2 = in_group.slice(1) 8 i = in_group.slice(2) 9 51.times do |count| 10 if i == "7" 11 i = "1" 12 if a2 == "z" 13 a2 = "a" 14 if a1 == "Z" 15 a1 = "A" 16 else 17 a1.succ! 18 end 19 else 20 a2.succ! 21 end 22 else 23 i.succ! 24 end 25 groups[count+1] = a1+a2+i 26 end 27 return groups 28end
凄い変なコードになってしまったので、かっこいい感じにできないでしょうか。
※ここに投稿するにあたって色々と削っており、うまく動作しないかもしれません。その際はご指摘いただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。