funcIsBalanced(dicmap[rune]int,sstring)bool{b:=0for_,r:=rangestrings.ToLower(s){i,ok:=dic[r]ifok==false{continue}b+=i}returnb==0}funcmain(){//because the world is bigger than Latinvarstep=map[rune]int{'x':1,'🗴':1,'o':-1,'ອ':-1}table:=map[string]bool{"":true,//0x == 0o"x0x0":true,"ອXອXອ":false,"H🗴H🗴H(╯° °)╯︵ ┻━┻)HoHo":true,}forinput,exp:=rangetable{fmt.Printf("'%s', exp: '%v', got: '%v'\n",input,exp,IsBalanced(step,input))}}
Time for a Go kata you say?
play.golang.org/p/n8q9BYrsW4a