teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

追加

2019/05/31 05:42

投稿

Ezon
Ezon

スコア8

title CHANGED
File without changes
body CHANGED
@@ -11,15 +11,6 @@
11
11
  ### 該当のソースコード
12
12
 
13
13
  ```ここに言語名を入力
14
- ソースコード
15
- ```
16
-
17
- ### 試したこと
18
- S内の文字数をそれぞれカウントして
19
- 一つずつ使ってみたのですが、
20
- 出来上がる文字列を記述する変数Bが結局書き換えられてしまうので、
21
- 再帰が次のパターンへと移れません。
22
-
23
14
  S = "aaabbbccdeeeff"
24
15
 
25
16
  count={}
@@ -48,7 +39,16 @@
48
39
  else:
49
40
  B += i
50
41
  return func(B,count)
42
+ ```
51
43
 
44
+ ### 試したこと
45
+ S内の文字数をそれぞれカウントして
46
+ 一つずつ使ってみたのですが、
47
+ 出来上がる文字列を記述する変数Bが結局書き換えられてしまうので、
48
+ 再帰が次のパターンへと移れません。
49
+
50
+
51
+
52
52
  ### 補足情報(FW/ツールのバージョンなど)
53
53
 
54
54
  ここにより詳細な情報を記載してください。

3

タイトルの変更

2019/05/31 05:42

投稿

Ezon
Ezon

スコア8

title CHANGED
File without changes
body CHANGED
File without changes

2

試したことの追加

2019/05/31 05:40

投稿

Ezon
Ezon

スコア8

title CHANGED
File without changes
body CHANGED
@@ -15,9 +15,40 @@
15
15
  ```
16
16
 
17
17
  ### 試したこと
18
+ S内の文字数をそれぞれカウントして
19
+ 一つずつ使ってみたのですが、
20
+ 出来上がる文字列を記述する変数Bが結局書き換えられてしまうので、
21
+ 再帰が次のパターンへと移れません。
18
22
 
19
- ここに問題に対して試したことを記載してください。
23
+ S = "aaabbbccdeeeff"
20
24
 
25
+ count={}
26
+ for i in A:
27
+ if i not in count.keys():
28
+ count[i] = 1
29
+ else:
30
+ count[i] += 1
31
+
32
+ pt=0
33
+ B="w"
34
+ def func(B, count):
35
+ Count = copy.copy(count)
36
+ for i in B[1:]:
37
+ Count[i] -= 1
38
+ if Count[i] == 0:
39
+ del Count[i]
40
+
41
+ if Count == {}:
42
+ return pt+1
43
+
44
+ cl = list(Count.keys())
45
+ for i in cl:
46
+ if B[-1] == i:
47
+ continue
48
+ else:
49
+ B += i
50
+ return func(B,count)
51
+
21
52
  ### 補足情報(FW/ツールのバージョンなど)
22
53
 
23
54
  ここにより詳細な情報を記載してください。

1

タイトルの変更

2019/05/31 05:39

投稿

Ezon
Ezon

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- 与えられた文字列から連続する文字ない文字列を作成する
1
+ 与えられた文字列から同じ文字が連続しない文字列を作成する
body CHANGED
File without changes