Leetcode Note: Go - Goat Latin
Goat Latin - LeetCode
https://leetcode.com/problems/goat-latin/
- Go 言語で取り組んだメモ
所感
- string s が渡される
- この文章を Goat Latin 言語に変換する
- a, i, u, e, o で始まる単語は語尾に ma を付ける
- 死因で始まる場合は、最初の文字を削除して ma を追加する
- 文中の単語インデックス毎に、1文字ずつ a を語尾に付ける
- 変換した Goat Latin 文字列を string で return する
回答
Simple solution in Golang - LeetCode Discuss
https://leetcode.com/problems/goat-latin/discuss/925998/Simple-solution-in-Golang
func isVowel(s string) bool {
letter := strings.ToLower(string(s[0]))
switch letter {
case "a", "e", "i", "o", "u":
return true
}
return false
}
func toGoatLatin(S string) string {
words := strings.Split(S, " ")
solution := ""
for i, word := range words {
a := strings.Repeat("a", i+1)
goatWord := ""
if isVowel(word) {
goatWord = word + "ma"
} else {
goatWord = word[1:] + string(word[0]) + "ma"
}
solution = solution + goatWord + a + " "
}
return solution[:len(solution)-1]
}