回答編集履歴

1

実行結果が逆でした。

2015/10/20 13:38

投稿

SKYYFISH
SKYYFISH

スコア654

test CHANGED
@@ -12,7 +12,9 @@
12
12
 
13
13
  texts.each do |parts|
14
14
 
15
- if parts.index(‘z’) <= 3 then # zが先頭から数えてどこにあるのか調べます。
15
+ index = parts.index(‘z’) # zが先頭から数えてどこにあるのか調べます。無かったら -1 を返します。
16
+
17
+ if index != -1 && index <= 3 then # -1 以外 (zが見つかってること) かつ 3文字以内にあること。
16
18
 
17
19
  ident = true
18
20
 
@@ -36,15 +38,15 @@
36
38
 
37
39
  text1 = “abcdzabbz”
38
40
 
39
- # split -> ["", "bcd", bbz] -> index -> -1, -1, -1, 3 -> bbzは、先頭から3番目にzがある。
41
+ # split -> ["", "bcd", bbz] -> index -> -1, -1, -1, 3 -> bizは、aから3つ以内にzがある。
40
42
 
41
43
  text2 = “ababababcdz”
42
44
 
43
- # split -> ["", "b", "b", "b", "bcdz"] -> index -> -1, -1, -1, 4
45
+ # split -> ["", "b", "b", "b", "bcdz"] -> index -> -1, -1, -1, 4 -> bcdは、aから4つ後ろにzがある。
44
46
 
45
- print(identify(text1)) # -> false
47
+ print(identify(text1)) # -> true
46
48
 
47
- print(identify(text2)) # -> true
49
+ print(identify(text2)) # -> false
48
50
 
49
51
  ```
50
52