@@ -206,40 +206,14 @@ func do2(fileName string) (ret1 int, ret2 int) {
206206 tokbuffer := make ([]string , 0 )
207207 opstack := make ([]string , 0 )
208208 op := ""
209- log .Println ("input " , toks )
209+ log .Println ("Input: " , toks )
210210 for _ , v := range toks {
211211 if v == "" {
212212 continue
213213 }
214-
215- // if v == "(" {
216- // tokbuffer = append(tokbuffer, v)
217- // continue
218- // }
219-
220- // if v == ")" {
221- // toks := make([]string, 0)
222-
223- // for {
224- // t := tokbuffer[len(tokbuffer)-1]
225- // tokbuffer = tokbuffer[:len(tokbuffer)-1]
226-
227- // if t == "(" {
228- // break
229- // }
230-
231- // toks = append(toks, t)
232- // }
233- // log.Println(" tok", toks, num)
234- // // num = dotok(toks)
235- // } else {
236-
237- // tokbuffer = append(tokbuffer, v)
238- // }
239- // log.Print(" num", num)
240214 if v == "(" {
241215 opstack = append (opstack , v )
242- log .Println (v , tokbuffer , opstack )
216+ log .Println ("RPN:" , v , tokbuffer , opstack )
243217 continue
244218 }
245219 if v == ")" {
@@ -253,7 +227,7 @@ func do2(fileName string) (ret1 int, ret2 int) {
253227 break
254228 }
255229 }
256- log .Println (v , tokbuffer , opstack )
230+ log .Println ("RPN:" , v , tokbuffer , opstack )
257231 continue
258232 }
259233 if v == "+" || v == "-" || v == "*" {
@@ -273,15 +247,15 @@ func do2(fileName string) (ret1 int, ret2 int) {
273247 }
274248 opstack = append (opstack , v )
275249 }
276- log .Println (v , tokbuffer , opstack )
250+ log .Println ("RPN:" , v , tokbuffer , opstack )
277251 continue
278252 }
279253
280254 tokbuffer = append (tokbuffer , v )
281255 if op != "" {
282256 tokbuffer = append (tokbuffer , op )
283257 }
284- log .Println (v , tokbuffer , opstack )
258+ log .Println ("RPN:" , v , tokbuffer , opstack )
285259 }
286260
287261 for len (opstack ) > 0 {
@@ -290,11 +264,11 @@ func do2(fileName string) (ret1 int, ret2 int) {
290264 tokbuffer = append (tokbuffer , top )
291265 }
292266
293- log .Println (tokbuffer , opstack )
267+ log .Println ("RPN:" , tokbuffer , opstack )
294268
295269 stack := make ([]int , 0 )
296270 for _ , v := range tokbuffer {
297- log .Println ("e " , v , stack )
271+ // log.Println("eval: ", v, stack)
298272 if v == "*" || v == "+" || v == "-" {
299273 n1 := stack [len (stack )- 1 ]
300274 n2 := stack [len (stack )- 2 ]
@@ -309,26 +283,23 @@ func do2(fileName string) (ret1 int, ret2 int) {
309283 n3 := n1 * n2
310284 stack = append (stack , n3 )
311285 }
286+ log .Println ("eval:" , v , stack )
312287 continue
313288 }
314289 num , err := strconv .Atoi (v )
315290 if err != nil {
316291 log .Fatal (err )
317292 }
318293 stack = append (stack , num )
294+ log .Println ("eval:" , v , stack )
319295 }
320296 num = stack [0 ]
321297
322- // num = dotok(toks)
323-
324- log .Println (k , "num" , num )
298+ log .Println ("Result:" , num )
325299 sum += num
326- // break
327300 }
328301 ret1 = sum
329302
330- //3414545442547727
331- // 3881468912309
332303 return ret1 , ret2
333304}
334305
0 commit comments