お世話になります。
Go言語初心者です。
昨日のAtCoderBeginnerContestのB問題について下記のように回答したのですが、うまくいきません。
問題はこちらをご覧ください。方針としては
1、reverseで配列を逆順にする。
2、changeで配列の中身を変更する(9を6、6を9に)
3、joinで配列の中身を文字列として結合する。
1はできているのですが2、3が効いていません。実行すると出力は[9 8 8 1 0 6 0]になります。ご教示いただけますと幸いです。
ご参考
https://play.golang.org/p/m94BuEIuLpG
main.go
1package main 2 3import ( 4 "fmt" 5 "strings" 6) 7 8func main() { 9 var a string = "0601889" 10 var ans string 11 //fmt.Scan(&a) 12 str := strings.Split(a, "") 13 reverse(str) 14 change(str) 15 join(str, ans) 16 fmt.Println(str) 17 fmt.Println(ans) 18 19} 20 21func reverse(a []string) { 22 for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1 { 23 a[i], a[j] = a[j], a[i] 24 } 25} 26 27func change(st []string) { 28 for _, value := range st { 29 if value == "6" { 30 value = "9" 31 } 32 if value == "9" { 33 value = "6" 34 } 35 } 36} 37 38func join(str []string, ans string) { 39 for _, v := range str { 40 ans += v 41 } 42} 43
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/23 04:38