回答編集履歴

5

追記0:オフトピに対しての根拠の追加

2021/10/26 08:14

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -10,8 +10,6 @@
10
10
 
11
11
  なので、現実世界でならどうするかを考えるのです。
12
12
 
13
-
14
-
15
13
  今回の場合、割と楽な気がします。
16
14
 
17
15
 
@@ -50,13 +48,7 @@
50
48
 
51
49
 
52
50
 
53
- 構造をよくみてください。
54
-
55
-
56
-
57
- 必ず、“(”と“)”の数は同じであるはずです。
51
+ 構造をよくみてください。必ず、“(”と“)”の数は同じであるはずです。そして、入れ子ではない。
58
-
59
- そして、入れ子ではない。
60
52
 
61
53
 
62
54
 
@@ -94,13 +86,7 @@
94
86
 
95
87
 
96
88
 
97
- 現実世界で考えてみてください。
98
-
99
-
100
-
101
- 質問者さんは脳内ではどのようにやっていますか?
89
+ 現実世界で考えてみてください。質問者さんは脳内ではどのようにやっていますか?
102
-
103
-
104
90
 
105
91
  おそらく、かっこの中を先に計算して、そこをYとかのような別の値に変換しているのではないかなと。
106
92
 
@@ -128,19 +114,9 @@
128
114
 
129
115
 
130
116
 
131
- これ以上かっこ付きはないので次の演算子へ。
117
+ これ以上かっこ付きはないので次の演算子へ。次に優先順位の高いものは掛け算なので、
132
-
133
-
134
-
135
- 次に優先順位の高いものは掛け算なので、
118
+
136
-
137
-
138
-
139
- *を探す。そうすると3*Yがヒット。
119
+ *を探す。そうすると3*Yがヒット。これを計算する。
140
-
141
- これを計算する。
142
-
143
-
144
120
 
145
121
  この計算結果をXと置くと、
146
122
 
@@ -150,11 +126,9 @@
150
126
 
151
127
 
152
128
 
153
- となる。
154
-
155
-
156
-
157
- これ以上優先するものはないので以降は先端から計算していく。
129
+ となる。これ以上優先するものはないので以降は先端から計算していく。
130
+
131
+
158
132
 
159
133
  ```
160
134
 
@@ -174,13 +148,7 @@
174
148
 
175
149
  とにかく、『元の計算式の特定の部分を書き換える』的な処理を脳内でしているはずです。
176
150
 
177
-
178
-
179
- 上記で言えば(2+4) を Y とおく感じの。
180
-
181
-
182
-
183
- 実際にはYではなく、2+4の結果、6と置き換える感じです。
151
+ 上記で言えば(2+4) を Y とおく感じの。実際にはYではなく、2+4の結果、6と置き換える感じです。
184
152
 
185
153
 
186
154
 
@@ -212,13 +180,13 @@
212
180
 
213
181
 
214
182
 
215
- つまり、『切り出し』→『計算』→『元の文字列に置き換え』的な処理ですね。
183
+ つまり、『切り出し』→『計算』→『元の文字列に置き換え』的な処理ですね。入れ子になっていると面倒ですが、それでも発想は同じかも。
216
-
217
-
218
-
219
- 入れ子になっていると面倒ですが、それでも発想は同じかも。
184
+
220
-
185
+
186
+
221
- ———-
187
+ ------
188
+
189
+
222
190
 
223
191
  [追記0]
224
192
 
@@ -240,9 +208,7 @@
240
208
 
241
209
 
242
210
 
243
- それに、出てくる数字に関しては(かっこ内でないなら)
211
+ それに、出てくる数字に関しては(かっこ内でないなら)常に一桁ですよね。
244
-
245
- 常に一桁ですよね。
246
212
 
247
213
 
248
214
 
@@ -258,9 +224,7 @@
258
224
 
259
225
 
260
226
 
261
- よくみると、数字と演算子が交互に出ています。
262
-
263
- となると、かっこ内をすでに計算した後という前提であれば、
227
+ よくみる、数字と演算子が交互に出ています。となると、かっこ内をすでに計算した後という前提であれば、
264
228
 
265
229
 
266
230
 
@@ -288,11 +252,7 @@
288
252
 
289
253
 
290
254
 
291
- ただし、”1”と 1は別物です。
292
-
293
- なので『文字を整数にする処理』が必要になります。
255
+ ただし、”1”と 1は別物です。なので『文字を整数にする処理』が必要になります。文字列ではありません。
294
-
295
- 文字列ではありません。
296
256
 
297
257
 
298
258
 
@@ -316,31 +276,29 @@
316
276
 
317
277
  コードは”<code>”または”<コード>”のボタンを押して出てくるやつの中にかきましょう。
318
278
 
319
-
320
-
321
- **ご自分の質問にあるコードと回答者のコード等を比較してみましょう**。
279
+ **ご自分の質問にあるコードと回答者のコード等を比較してみましょう**。今のままでは非常に読みづらいです。ひらがなでしかも句読点なしの文章を読まされるようなものです。
322
-
323
- 今のままでは非常に読みづらいです。
280
+
324
-
325
-
326
-
327
- ひらがなでしかも句読点なしの文章を読まされるようなものです。
281
+
328
-
329
-
330
-
282
+
331
- 知っていて我を押し通すつもりなら次からは回答者が一気に減ると思います。
283
+ 知っていて我を押し通すつもりなら次からは回答者が一気に減ると思います。そうすると質問者さんにとって有用な情報も得られなくなります。
332
-
333
- そうすると質問者さんにとって有用な情報も得られなくなります。
284
+
334
-
335
-
336
-
337
-
338
-
285
+
286
+
339
- 知らなかったのなら、これを機にやってみましょう。
287
+ 知らなかったのなら、これを機にやってみましょう。質問は修正できるので修正してください。
340
-
288
+
289
+
290
+
341
- 質問は修正できるので修正してくださ
291
+ [私が「修正依頼を無視している」と考えた根拠]
292
+
293
+
294
+
342
-
295
+ 過去質問(一件ですが)では、ある方がご指摘なさっていますが、それを無視しています。
296
+
343
-
297
+ もしかしたらMarkdownとかの存在がわからない可能性もあるとは思いますが、流石にアニメーションで提示されているのでそれは無いかなと。
298
+
299
+
300
+
301
+ 仮に「質問を編集できるということが分かっていなかった」だけだとしても、二回目以降の質問でも同じようなことをやっています。なので「改善する気が無い」人なのかなと勘繰ってみたり。
344
302
 
345
303
 
346
304
 

4

一言多いので削除

2021/10/26 08:14

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -1,319 +1,311 @@
1
- だ完璧に頭が回っているわじゃないので詳しくわかりません
1
+ ず、プログラミングは「こう書い」というものではりません。
2
+
3
+ **現実世界のシミュレーション**です。
4
+
5
+
6
+
7
+ (おそらく質問者さんはお気づきかもしれませんが)
8
+
9
+
10
+
11
+ なので、現実世界でならどうするかを考えるのです。
12
+
13
+
14
+
15
+ 今回の場合、割と楽な気がします。
16
+
17
+
18
+
19
+ かっこが使われていますが、入れ子はなく、かつ数字は常に一桁であることが前提のようですから。
20
+
21
+
22
+
23
+ F = 1+3*(2+4)
24
+
25
+
26
+
27
+ とします。
28
+
29
+
30
+
31
+ このFを計算する場合、現実世界ではどのようにしますか?
32
+
33
+
34
+
35
+ 私なら、『かっこから先に計算』します。
36
+
37
+
38
+
39
+ ```ここに言語を入力
40
+
41
+ 1+3*(2+4)
42
+
43
+ = 1+3*6
44
+
45
+ ```
46
+
47
+
48
+
49
+ ということは、『(…)で囲まれている式を先に計算』するということです。
50
+
51
+
52
+
53
+ 構造をよくみてください。
54
+
55
+
56
+
57
+ 必ず、“(”と“)”の数は同じであるはずです。
58
+
59
+ そして、入れ子ではない。
60
+
61
+
62
+
63
+ ということは、
64
+
65
+
66
+
67
+ ```ここに言語を入力
68
+
69
+ 1. 先頭から末尾までの中で最初の“(“を探す
70
+
71
+ 2. “(”があったら
72
+
73
+ 2.1. “)”の場所を探す
74
+
75
+ 2.2. (1)の場所から(2.1)の場所まで切り出す
76
+
77
+ 2.3. 計算する
78
+
79
+ 2.4. 置き換える
80
+
81
+ ```
82
+
83
+
84
+
85
+ のような感じになるかと思います。
86
+
87
+
88
+
89
+ …発想そのものはここまでできているようですね。
90
+
91
+
92
+
93
+ あとは実現方法。
94
+
95
+
96
+
97
+ 現実世界で考えてみてください。
98
+
99
+
100
+
101
+ 質問者さんは脳内ではどのようにやっていますか?
102
+
103
+
104
+
105
+ おそらく、かっこの中を先に計算して、そこをYとかのような別の値に変換しているのではないかなと。
106
+
107
+
108
+
109
+ ```ここに言語を入力
110
+
111
+ F = 1+3*(2+4)
112
+
113
+
114
+
115
+ 一番優先順位の高い計算はかっこ付きなので”(“を探す。それで囲まれている部分を探す。
116
+
117
+
118
+
119
+ (2+4)の計算結果をYと置くと、
120
+
121
+
122
+
123
+ F = 1+3*Y
124
+
125
+
126
+
127
+ と置き換える。
128
+
129
+
130
+
131
+ これ以上かっこ付きはないので次の演算子へ。
132
+
133
+
134
+
135
+ 次に優先順位の高いものは掛け算なので、
136
+
137
+
138
+
139
+ *を探す。そうすると3*Yがヒット。
140
+
141
+ これを計算する。
142
+
143
+
144
+
145
+ この計算結果をXと置くと、
146
+
147
+
148
+
149
+ F = 1+X
150
+
151
+
152
+
153
+ となる。
154
+
155
+
156
+
157
+ これ以上優先するものはないので以降は先端から計算していく。
158
+
159
+ ```
160
+
161
+
162
+
163
+ 的な感じになっているはずです。
164
+
165
+
166
+
167
+ もちろん、実際に使う文字や式とかは違いますが。
168
+
169
+
170
+
171
+ Yとかを使わずに数字にするのが普通かもしれませんが。
172
+
173
+
174
+
175
+ とにかく、『元の計算式の特定の部分を書き換える』的な処理を脳内でしているはずです。
176
+
177
+
178
+
179
+ 上記で言えば(2+4) を Y とおく感じの。
180
+
181
+
182
+
183
+ 実際にはYではなく、2+4の結果、6と置き換える感じです。
184
+
185
+
186
+
187
+ アルゴリズムっぽく考えると、
188
+
189
+
190
+
191
+ ```ここに言語を入力
192
+
193
+ 1. “(”の場所を調べる(int beginとする)
194
+
195
+ 2. “)”の場所を調べる(int endとする)
196
+
197
+ 3. beginからendまでの文字列を切り出す
198
+
199
+ 4. (3)を計算(int tempとする)
200
+
201
+ 5. 元の文字列のbeginからendまでを(4)の値に置き換える
202
+
203
+
204
+
205
+ これを優先順位が高いものがなくなるまで繰り返す
206
+
207
+ ```
208
+
209
+
210
+
211
+ 的な感じになるかなと。
212
+
213
+
214
+
215
+ つまり、『切り出し』→『計算』→『元の文字列に置き換え』的な処理ですね。
216
+
217
+
218
+
219
+ 入れ子になっていると面倒ですが、それでも発想は同じかも。
220
+
221
+ ———-
222
+
223
+ [追記0]
224
+
225
+
226
+
227
+ あと、質問では“+”とかを-1やらなんやらに置き換えていますが、それはしなくてもできるはずです。
228
+
229
+
230
+
231
+ 式全体をFとしたとき、Fは単なる文字列です。
232
+
233
+ 文字列は文字が0文字以上連なったものです。
234
+
235
+ だから配列で表現するのです。
236
+
237
+
238
+
239
+ “1”も“+”も文字です。
240
+
241
+
242
+
243
+ それに、出てくる数字に関しては(かっこ内でないなら)
244
+
245
+ 常に一桁ですよね。
246
+
247
+
248
+
249
+ ということは、
250
+
251
+
252
+
253
+ <数字><演算子><数字><演算子>…
254
+
255
+
256
+
257
+ となっているはずです。
258
+
259
+
260
+
261
+ よくみると、数字と演算子が交互に出ています。
262
+
263
+ となると、かっこ内をすでに計算した後という前提であれば、
264
+
265
+
266
+
267
+ ```
268
+
269
+ 1. 文字数分ループ
270
+
271
+ 1.1. 現在の文字を取得
272
+
273
+ 1.2. 現在の文字が“+”なら
274
+
275
+ 1.2.1. 前後の文字をそれぞれ整数にして
276
+
277
+ 1.2.2. 計算する
278
+
279
+ 1.3. (そうじゃなくて) “-”なら
280
+
281
+
282
+
283
+ ```
284
+
285
+
286
+
287
+ のような感じになるかなと。
288
+
289
+
290
+
291
+ ただし、”1”と 1は別物です。
292
+
293
+ なので『文字を整数にする処理』が必要になります。
294
+
295
+ 文字列ではありません。
296
+
297
+
298
+
299
+ これに関しては調べてください。
300
+
301
+
302
+
303
+ 上で切り出したかっこ内の式もこの考えを適用できます。
2
304
 
3
305
 
4
306
 
5
307
  ーーーー
6
308
 
7
-
8
-
9
- まず、プログラミングは「こう書けばいい」というものではありません。
10
-
11
- **現実世界のシミュレーション**です。
12
-
13
-
14
-
15
- (おそらく質問者さんはお気づきかもしれませんが)
16
-
17
-
18
-
19
- なので、現実世界でならどうするかを考えるのです。
20
-
21
-
22
-
23
- 今回の場合、割と楽な気がします。
24
-
25
-
26
-
27
- かっこが使われていますが、入れ子はなく、かつ数字は常に一桁であることが前提のようですから。
28
-
29
-
30
-
31
- F = 1+3*(2+4)
32
-
33
-
34
-
35
- とします。
36
-
37
-
38
-
39
- このFを計算する場合、現実世界ではどのようにしますか?
40
-
41
-
42
-
43
- 私なら、『かっこから先に計算』します。
44
-
45
-
46
-
47
- ```ここに言語を入力
48
-
49
- 1+3*(2+4)
50
-
51
- = 1+3*6
52
-
53
- ```
54
-
55
-
56
-
57
- ということは、『(…)で囲まれている式を先に計算』するということです。
58
-
59
-
60
-
61
- 構造をよくみてください。
62
-
63
-
64
-
65
- 必ず、“(”と“)”の数は同じであるはずです。
66
-
67
- そして、入れ子ではない。
68
-
69
-
70
-
71
- ということは、
72
-
73
-
74
-
75
- ```ここに言語を入力
76
-
77
- 1. 先頭から末尾までの中で最初の“(“を探す
78
-
79
- 2. “(”があったら
80
-
81
- 2.1. “)”の場所を探す
82
-
83
- 2.2. (1)の場所から(2.1)の場所まで切り出す
84
-
85
- 2.3. 計算する
86
-
87
- 2.4. 置き換える
88
-
89
- ```
90
-
91
-
92
-
93
- のような感じになるかと思います。
94
-
95
-
96
-
97
- …発想そのものはここまでできているようですね。
98
-
99
-
100
-
101
- あとは実現方法。
102
-
103
-
104
-
105
- 現実世界で考えてみてください。
106
-
107
-
108
-
109
- 質問者さんは脳内ではどのようにやっていますか?
110
-
111
-
112
-
113
- おそらく、かっこの中を先に計算して、そこをYとかのような別の値に変換しているのではないかなと。
114
-
115
-
116
-
117
- ```ここに言語を入力
118
-
119
- F = 1+3*(2+4)
120
-
121
-
122
-
123
- 一番優先順位の高い計算はかっこ付きなので”(“を探す。それで囲まれている部分を探す。
124
-
125
-
126
-
127
- (2+4)の計算結果をYと置くと、
128
-
129
-
130
-
131
- F = 1+3*Y
132
-
133
-
134
-
135
- と置き換える。
136
-
137
-
138
-
139
- これ以上かっこ付きはないので次の演算子へ。
140
-
141
-
142
-
143
- 次に優先順位の高いものは掛け算なので、
144
-
145
-
146
-
147
- *を探す。そうすると3*Yがヒット。
148
-
149
- これを計算する。
150
-
151
-
152
-
153
- この計算結果をXと置くと、
154
-
155
-
156
-
157
- F = 1+X
158
-
159
-
160
-
161
- となる。
162
-
163
-
164
-
165
- これ以上優先するものはないので以降は先端から計算していく。
166
-
167
- ```
168
-
169
-
170
-
171
- 的な感じになっているはずです。
172
-
173
-
174
-
175
- もちろん、実際に使う文字や式とかは違いますが。
176
-
177
-
178
-
179
- Yとかを使わずに数字にするのが普通かもしれませんが。
180
-
181
-
182
-
183
- とにかく、『元の計算式の特定の部分を書き換える』的な処理を脳内でしているはずです。
184
-
185
-
186
-
187
- 上記で言えば(2+4) を Y とおく感じの。
188
-
189
-
190
-
191
- 実際にはYではなく、2+4の結果、6と置き換える感じです。
192
-
193
-
194
-
195
- アルゴリズムっぽく考えると、
196
-
197
-
198
-
199
- ```ここに言語を入力
200
-
201
- 1. “(”の場所を調べる(int beginとする)
202
-
203
- 2. “)”の場所を調べる(int endとする)
204
-
205
- 3. beginからendまでの文字列を切り出す
206
-
207
- 4. (3)を計算(int tempとする)
208
-
209
- 5. 元の文字列のbeginからendまでを(4)の値に置き換える
210
-
211
-
212
-
213
- これを優先順位が高いものがなくなるまで繰り返す
214
-
215
- ```
216
-
217
-
218
-
219
- 的な感じになるかなと。
220
-
221
-
222
-
223
- つまり、『切り出し』→『計算』→『元の文字列に置き換え』的な処理ですね。
224
-
225
-
226
-
227
- 入れ子になっていると面倒ですが、それでも発想は同じかも。
228
-
229
- ———-
230
-
231
- [追記0]
232
-
233
-
234
-
235
- あと、質問では“+”とかを-1やらなんやらに置き換えていますが、それはしなくてもできるはずです。
236
-
237
-
238
-
239
- 式全体をFとしたとき、Fは単なる文字列です。
240
-
241
- 文字列は文字が0文字以上連なったものです。
242
-
243
- だから配列で表現するのです。
244
-
245
-
246
-
247
- “1”も“+”も文字です。
248
-
249
-
250
-
251
- それに、出てくる数字に関しては(かっこ内でないなら)
252
-
253
- 常に一桁ですよね。
254
-
255
-
256
-
257
- ということは、
258
-
259
-
260
-
261
- <数字><演算子><数字><演算子>…
262
-
263
-
264
-
265
- となっているはずです。
266
-
267
-
268
-
269
- よくみると、数字と演算子が交互に出ています。
270
-
271
- となると、かっこ内をすでに計算した後という前提であれば、
272
-
273
-
274
-
275
- ```
276
-
277
- 1. 文字数分ループ
278
-
279
- 1.1. 現在の文字を取得
280
-
281
- 1.2. 現在の文字が“+”なら
282
-
283
- 1.2.1. 前後の文字をそれぞれ整数にして
284
-
285
- 1.2.2. 計算する
286
-
287
- 1.3. (そうじゃなくて) “-”なら
288
-
289
-
290
-
291
- ```
292
-
293
-
294
-
295
- のような感じになるかなと。
296
-
297
-
298
-
299
- ただし、”1”と 1は別物です。
300
-
301
- なので『文字を整数にする処理』が必要になります。
302
-
303
- 文字列ではありません。
304
-
305
-
306
-
307
- これに関しては調べてください。
308
-
309
-
310
-
311
- 上で切り出したかっこ内の式もこの考えを適用できます。
312
-
313
-
314
-
315
- ーーーー
316
-
317
309
  [追記0:オフトピ]
318
310
 
319
311
 

3

修正

2021/10/26 02:40

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
 
64
64
 
65
- 必ず、”((“の数は同じであるはずです。
65
+ 必ず、“()”の数は同じであるはずです。
66
66
 
67
67
  そして、入れ子ではない。
68
68
 
@@ -76,7 +76,7 @@
76
76
 
77
77
  1. 先頭から末尾までの中で最初の“(“を探す
78
78
 
79
- 2. “(があったら
79
+ 2. “(があったら
80
80
 
81
81
  2.1. “)”の場所を探す
82
82
 
@@ -198,7 +198,7 @@
198
198
 
199
199
  ```ここに言語を入力
200
200
 
201
- 1. “(の場所を調べる(int beginとする)
201
+ 1. “(の場所を調べる(int beginとする)
202
202
 
203
203
  2. “)”の場所を調べる(int endとする)
204
204
 
@@ -232,7 +232,7 @@
232
232
 
233
233
 
234
234
 
235
- あと、質問では+”とかを-1やらなんやらに置き換えていますが、それはしなくてもできるはずです。
235
+ あと、質問では+”とかを-1やらなんやらに置き換えていますが、それはしなくてもできるはずです。
236
236
 
237
237
 
238
238
 
@@ -244,7 +244,7 @@
244
244
 
245
245
 
246
246
 
247
- “1”も+”も文字です。
247
+ “1”も+”も文字です。
248
248
 
249
249
 
250
250
 
@@ -278,13 +278,13 @@
278
278
 
279
279
  1.1. 現在の文字を取得
280
280
 
281
- 1.2. 現在の文字が+”なら
281
+ 1.2. 現在の文字が+”なら
282
282
 
283
283
  1.2.1. 前後の文字をそれぞれ整数にして
284
284
 
285
285
  1.2.2. 計算する
286
286
 
287
- 1.3. (そうじゃなくて)”-“なら
287
+ 1.3. (そうじゃなくて) “-”なら
288
288
 
289
289
 
290
290
 

2

追記

2021/10/26 02:38

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -309,3 +309,47 @@
309
309
 
310
310
 
311
311
  上で切り出したかっこ内の式もこの考えを適用できます。
312
+
313
+
314
+
315
+ ーーーー
316
+
317
+ [追記0:オフトピ]
318
+
319
+
320
+
321
+ 修正依頼のところに書くべき内容ですが、質問者さんは無視しているのか、やり方がわからないのかわかりませんが、改善されていないようなので書いておきます。
322
+
323
+
324
+
325
+ コードは”<code>”または”<コード>”のボタンを押して出てくるやつの中にかきましょう。
326
+
327
+
328
+
329
+ **ご自分の質問にあるコードと回答者のコード等を比較してみましょう**。
330
+
331
+ 今のままでは非常に読みづらいです。
332
+
333
+
334
+
335
+ ひらがなでしかも句読点なしの文章を読まされるようなものです。
336
+
337
+
338
+
339
+ 知っていて我を押し通すつもりなら次からは回答者が一気に減ると思います。
340
+
341
+ そうすると質問者さんにとって有用な情報も得られなくなります。
342
+
343
+
344
+
345
+
346
+
347
+ 知らなかったのなら、これを機にやってみましょう。
348
+
349
+ 質問は修正できるので修正してください。
350
+
351
+
352
+
353
+
354
+
355
+ ※このオフトピ追記は質問が修正され次第、削除する予定です。

1

追記0

2021/10/25 23:05

投稿

BeatStar
BeatStar

スコア4962

test CHANGED
@@ -225,3 +225,87 @@
225
225
 
226
226
 
227
227
  入れ子になっていると面倒ですが、それでも発想は同じかも。
228
+
229
+ ———-
230
+
231
+ [追記0]
232
+
233
+
234
+
235
+ あと、質問では”+”とかを-1やらなんやらに置き換えていますが、それはしなくてもできるはずです。
236
+
237
+
238
+
239
+ 式全体をFとしたとき、Fは単なる文字列です。
240
+
241
+ 文字列は文字が0文字以上連なったものです。
242
+
243
+ だから配列で表現するのです。
244
+
245
+
246
+
247
+ “1”も”+”も文字です。
248
+
249
+
250
+
251
+ それに、出てくる数字に関しては(かっこ内でないなら)
252
+
253
+ 常に一桁ですよね。
254
+
255
+
256
+
257
+ ということは、
258
+
259
+
260
+
261
+ <数字><演算子><数字><演算子>…
262
+
263
+
264
+
265
+ となっているはずです。
266
+
267
+
268
+
269
+ よくみると、数字と演算子が交互に出ています。
270
+
271
+ となると、かっこ内をすでに計算した後という前提であれば、
272
+
273
+
274
+
275
+ ```
276
+
277
+ 1. 文字数分ループ
278
+
279
+ 1.1. 現在の文字を取得
280
+
281
+ 1.2. 現在の文字が”+”なら
282
+
283
+ 1.2.1. 前後の文字をそれぞれ整数にして
284
+
285
+ 1.2.2. 計算する
286
+
287
+ 1.3. (そうじゃなくて)”-“なら
288
+
289
+
290
+
291
+ ```
292
+
293
+
294
+
295
+ のような感じになるかなと。
296
+
297
+
298
+
299
+ ただし、”1”と 1は別物です。
300
+
301
+ なので『文字を整数にする処理』が必要になります。
302
+
303
+ 文字列ではありません。
304
+
305
+
306
+
307
+ これに関しては調べてください。
308
+
309
+
310
+
311
+ 上で切り出したかっこ内の式もこの考えを適用できます。