回答編集履歴

1

修正バージョン

2016/03/19 12:41

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -4,10 +4,20 @@
4
4
 
5
5
  def mj_arano2(i)
6
6
 
7
- "00#{i}00".gsub(/00100/, '00000').sub(/0*$/, '').to_i
7
+ "00#{i}00".gsub(/001(?=00)/, '000').reverse.sub(/\A0+/, '').reverse.to_i
8
8
 
9
9
  end
10
10
 
11
11
  ```
12
12
 
13
- 一応同じように動きます。
13
+ たぶんこれでいけると思います。
14
+
15
+ 【修正箇所】
16
+
17
+ 先読みにすることで、孤立した1が出ないようにしました。
18
+
19
+ subをreverseすることで、たぶん、遅くなる問題は解決したと思います。(正規表現は後方から探すと遅いけど、前方から探すは早い)
20
+
21
+
22
+
23
+