package main import ( "bufio" "fmt" "os" "reflect" "sort" ) // エントリポイント func main() { in := bufio.NewScanner(os.Stdin) // 文字列A in.Scan() input1 := in.Text() // 文字列B in.Scan() input2 := in.Text() fmt.Println(stringSort(input1, input2)) } // 文字列を並べ替えたら一致するかどうかを判定する。 // 一致する場合は、"YES"。一致しない場合は"NO"。 func stringSort(strA string, strB string) string { if strA == strB { return "YES" } aAry := make([]string, 0) bAry := make([]string, 0) for _, ch := range strA { aAry = append(aAry, string(ch)) } for _, ch := range strB { bAry = append(bAry, string(ch)) } // 文字ごとにsortして一致していればOK sort.Sort(sort.StringSlice(aAry)) sort.Sort(sort.StringSlice(bAry)) // 配列(スライス)の比較 if reflect.DeepEqual(aAry, bAry) { return "YES" } return "NO" }