선수로 산다, 때론 좋은 코치로

[golang] A Tour of Go - 41 연습 문제 본문

개발 관련/go

[golang] A Tour of Go - 41 연습 문제

godsman 2018. 2. 1. 21:43

A Tour of Go - 41 연습 문제

https://go-tour-kr.appspot.com/#41

WordCount 함수를 구현합니다. 이 함수는 s라는 문자열 내에서 각각의 "단어"의 등장 횟수를 나타내는 맵을 반환해야 합니다. wc.Test 함수는 주어진 함수를 이용하여 테스트를 실행한 뒤에 그 성공 여부를 출력해 줍니다.

아마도 다음 링크 (strings.Fields)의 내용이 도움이 될 것입니다.

package main


import (

    "code.google.com/p/go-tour/wc"

)


func WordCount(s string) map[string]int {

}


func main() {

    wc.Test(WordCount)

}


string.Fields는 white space를 기준으로 문자열 잘라서 배열 형태로 리턴합니다.

word := range strings.Fields(s)

map은 string을 이용하여 값을 찾도록 선언하고 map에 있는 단어의 개수를 증가시킵니다.

wordMap := make(map[string]int)

wordMap[word]++

편리한 Go의 range 를 사용합니다.

func WordCount(s string) map[string]int {

    wordMap := make(map[string]int)

    

    for _, word := range strings.Fields(s) {

        wordMap[word]++

    }

    return wordMap

}


A Tour of Go 예제 관련



Comments