Bandera tricolor en Go

This commit is contained in:
2026-05-10 18:58:35 +02:00
parent 002fff8d1d
commit aa20952dc2

31
src/Go/003.go Normal file
View File

@@ -0,0 +1,31 @@
package main
import (
"fmt"
"sort"
)
var ORDER = []string{"R", "A", "M"}
func tricolor_flag(lst []string) []string {
result := append([]string(nil), lst...) // copy (like Python sorted)
order := make(map[string]int, len(ORDER))
for i, v := range ORDER {
order[v] = i
}
sort.SliceStable(result, func(i int, j int) bool {
return order[result[i]] < order[result[j]]
})
return result
}
func main() {
check := []string{"M","R","A","A","R","R","A","M","M"}
fmt.Println(tricolor_flag(check)) // [R,R,R,A,A,A,M,M,M]
check = []string{"M", "R", "A", "R", "R", "A"}
fmt.Println(tricolor_flag(check)) // [R,R,R,A,A,M]
}