Leetcode Note: Go - Detect Capital

Detect Capital - LeetCode
https://leetcode.com/problems/detect-capital/

  • Go 言語で取り組んだメモ

所感

  • string word が capital か判定して bool を return する
  • capital の条件
    • 全てが大文字
    • 先頭文字のみが大文字

回答

Detect Capital - LeetCode
https://leetcode.com/problems/detect-capital/solution/

Golang simple solution with strings package - LeetCode Discuss
https://leetcode.com/problems/detect-capital/discuss/466475/Golang-simple-solution-with-strings-package

func detectCapitalUse(word string) bool {
	if len(word) == 1 {
		return true
	}

    // case 1: All capital
	if word == strings.ToUpper(word) {
		return true
	}

    // case 2 and case 3
	if word[1:] == strings.ToLower(word[1:]) {
		return true
	}

	return false
}
  • Go 言語で大文字、小文字を扱う方法
  • 今回の場合は strings で変換かけた結果が original word と一致するかで判定を行っている
    • string データも配列として扱えるので、2文字以降にアクセスするなら word[1:] のような指定が便利