回答編集履歴
1
修正バージョン
answer
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
うーん、動作要件がいまいちわかりませんが、こんなのでしょうか?
|
2
2
|
```Ruby
|
3
3
|
def mj_arano2(i)
|
4
|
-
"00#{i}00".gsub(/
|
4
|
+
"00#{i}00".gsub(/001(?=00)/, '000').reverse.sub(/\A0+/, '').reverse.to_i
|
5
5
|
end
|
6
6
|
```
|
7
|
-
|
7
|
+
たぶん、これでいけると思います。
|
8
|
+
【修正箇所】
|
9
|
+
先読みにすることで、孤立した1が出ないようにしました。
|
10
|
+
subをreverseすることで、たぶん、遅くなる問題は解決したと思います。(正規表現は後方から探すと遅いけど、前方から探すは早い)
|
11
|
+
|