質問編集履歴

5

コードであることが分かるように修正を行った

2019/02/06 10:53

投稿

colorful
colorful

スコア23

test CHANGED
File without changes
test CHANGED
@@ -74,6 +74,8 @@
74
74
 
75
75
 
76
76
 
77
+ ```
78
+
77
79
  def unParentheses(len:String): String ={
78
80
 
79
81
  var str = len.slice(0,len.length)
@@ -112,6 +114,8 @@
112
114
 
113
115
 
114
116
 
117
+ ```
118
+
115
119
  count = 0のとき処理内容をどのように記載したらよいかが分からないのです。
116
120
 
117
121
  アドバイスを頂けないでしょうか?

4

質問事項の訂正

2019/02/06 10:53

投稿

colorful
colorful

スコア23

test CHANGED
File without changes
test CHANGED
@@ -56,8 +56,6 @@
56
56
 
57
57
  処理は文字列の操作である。
58
58
 
59
- 仕様(3)のように関数に関数を適用した場合は、()を消去し、関数がなくなるまで処理を行う。
60
-
61
59
  先頭の1文字はアルファベット大文字1文字であればよいのでチェックしたら消す。
62
60
 
63
61
  リストの2番目の要素を捨てる。
@@ -68,11 +66,11 @@
68
66
 
69
67
  現在の状況
70
68
 
71
- 仕様(3)のように関数に関数を適用した場合にのみ()を消去し、それ以外というかアルファベット小文字の引数しか残ってない場合は()は残すようにしたいす。
69
+ 今回は、<引1>入力され文字列が'('で始まった場合、それに対応する')'を削除ようにしたいと考えています。
72
70
 
73
71
 
74
72
 
75
- で、今は()の数えて関数に関数を適用した場合にのみ()を消去し、それ以外とうかアルファベット小文字引数しか残ってない場合は()は残すようにしたいのですが
73
+ で、今プログラムえていのですが
76
74
 
77
75
 
78
76
 

3

追記の部分が不要だったので消しました。

2019/02/06 10:50

投稿

colorful
colorful

スコア23

test CHANGED
File without changes
test CHANGED
@@ -117,57 +117,3 @@
117
117
  count = 0のとき処理内容をどのように記載したらよいかが分からないのです。
118
118
 
119
119
  アドバイスを頂けないでしょうか?
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
- 【追記】
134
-
135
- 申し訳ございません。
136
-
137
- 上記の文中に出てきた,bやcはString型の変数です。
138
-
139
-
140
-
141
- 実行結果は,以下のようにしたいです.
142
-
143
-
144
-
145
- (実行結果_例1)
146
-
147
- input => Abc
148
-
149
- output => b
150
-
151
-
152
-
153
- (実行結果_例2)
154
-
155
- input => A(xy)(yz)
156
-
157
- output => (xy)
158
-
159
-
160
-
161
- (実行結果_例3)
162
-
163
- input => Abcd
164
-
165
- output => bd
166
-
167
-
168
-
169
- (実行結果_例4)
170
-
171
- input => A(ab)(cd)(ef)
172
-
173
- output => (ab)(ef)

2

質問の要点をまとめなおした。

2019/02/06 10:38

投稿

colorful
colorful

スコア23

test CHANGED
@@ -1 +1 @@
1
- 文字列の処理について
1
+ 文字列の操作について
test CHANGED
@@ -1,18 +1,132 @@
1
- Aという関数にbとc(bとcはString型)という引数を与えたら,bを返す処理を行いたいと考えています.
1
+ Aという関数にbとc(bとcはString型の変数)という引数を与えたら,bを返す処理を行いたいと考えています.
2
+
3
+ このようなプログラムを作成したいのですが,うまく解放が思い浮かばないので教えていただけないでしょうか.
4
+
5
+ ≪定義≫
6
+
7
+ <関数>は、アルファベット大文字1字で表される。
8
+
9
+ <関数>は<引数>を2つ以上をとる。
10
+
11
+ 記述例は以下の通りとする。
12
+
13
+ <関数><引数><引数>…
2
14
 
3
15
 
4
16
 
5
- 具体的に,下のようにしたいす.
17
+ <引数>アルファベット小文字1文字か、'('アルファベット小文字2文字上')'ある。
6
18
 
7
- (1)Aという関数に引数bとc入力さた場合は,bを返す.
19
+ <引>は同じまたは異なるアルファベット文字与えらる。
8
-
9
- (2)Aという関数に(1)の引数bの代わりに例えば(xy),引数cの代わりに(yz)が入力されたらbの代わりに入力されている(xy)を返す.
10
-
11
- (3)また,Aという関数に引数が3文字以上(例えばAbcdと入力されたいたら)最初の3文字を切り出し(例の場合で言うと,Abc)(1)の処理を行う.そして,処理した結果(例の場合はb)と残りの文字列(例の場合はd)を連結し,連結結果を返す.
12
20
 
13
21
 
14
22
 
23
+ 以下は関数の動作例である。
24
+
25
+ Abc => b
26
+
27
+ A(bcd)(efg)=>(bcd)
28
+
29
+
30
+
31
+ 仕様
32
+
33
+ 関数Aは引数の2番目を捨てて引数を出現順にかえる。
34
+
35
+
36
+
37
+ (1)input => A<引数1><引数2>
38
+
39
+ output => <引数1>
40
+
41
+
42
+
43
+ (2)input => A<引数1><引数2><引数3>
44
+
45
+ output => <引数1><引数3>
46
+
47
+
48
+
49
+ (3)input => A(Abc)(def)
50
+
51
+ output => Abc =>bc
52
+
53
+
54
+
55
+ 実現
56
+
57
+ 処理は文字列の操作である。
58
+
15
- のようなプログラム作成したいのです,うま解放が思い浮かばいの教えていただけないでしょか.
59
+ 仕様(3)のように関数に関数適用した場合は、()を消去し、関数くなるま処理を行
60
+
61
+ 先頭の1文字はアルファベット大文字1文字であればよいのでチェックしたら消す。
62
+
63
+ リストの2番目の要素を捨てる。
64
+
65
+ リスト全体を連結して1つの文字列にする。
66
+
67
+
68
+
69
+ 現在の状況
70
+
71
+ 仕様(3)のように関数に関数を適用した場合にのみ()を消去し、それ以外というかアルファベット小文字の引数しか残ってない場合は()は残すようにしたいです。
72
+
73
+
74
+
75
+ それで、今は()の数を数えて関数に関数を適用した場合にのみ()を消去し、それ以外というかアルファベット小文字の引数しか残ってない場合は()は残すようにしたいのですが、
76
+
77
+
78
+
79
+ def unParentheses(len:String): String ={
80
+
81
+ var str = len.slice(0,len.length)
82
+
83
+ var count = 0
84
+
85
+ var i = 0
86
+
87
+
88
+
89
+ for(i <- 0 to len.length){
90
+
91
+ if(len == '('){
92
+
93
+ count = count + 1
94
+
95
+ }else if(len == ')'){
96
+
97
+ count = count - 1
98
+
99
+ }
100
+
101
+ }
102
+
103
+ if(count == 0){
104
+
105
+
106
+
107
+ }
108
+
109
+
110
+
111
+ return len
112
+
113
+ }
114
+
115
+
116
+
117
+ count = 0のとき処理内容をどのように記載したらよいかが分からないのです。
118
+
119
+ アドバイスを頂けないでしょうか?
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
16
130
 
17
131
 
18
132
 

1

具体的な実行結果の例を挙げました。

2019/02/06 10:37

投稿

colorful
colorful

スコア23

test CHANGED
File without changes
test CHANGED
@@ -13,3 +13,47 @@
13
13
 
14
14
 
15
15
  このようなプログラムを作成したいのですが,うまく解放が思い浮かばないので教えていただけないでしょうか.
16
+
17
+
18
+
19
+ 【追記】
20
+
21
+ 申し訳ございません。
22
+
23
+ 上記の文中に出てきた,bやcはString型の変数です。
24
+
25
+
26
+
27
+ 実行結果は,以下のようにしたいです.
28
+
29
+
30
+
31
+ (実行結果_例1)
32
+
33
+ input => Abc
34
+
35
+ output => b
36
+
37
+
38
+
39
+ (実行結果_例2)
40
+
41
+ input => A(xy)(yz)
42
+
43
+ output => (xy)
44
+
45
+
46
+
47
+ (実行結果_例3)
48
+
49
+ input => Abcd
50
+
51
+ output => bd
52
+
53
+
54
+
55
+ (実行結果_例4)
56
+
57
+ input => A(ab)(cd)(ef)
58
+
59
+ output => (ab)(ef)