# LeetCode 520. Detect Capital

## Description

https://leetcode.com/problems/detect-capital/

We define the usage of capitals in a word to be right when one of the following cases holds:

• All letters in this word are capitals, like `"USA"`.
• All letters in this word are not capitals, like `"leetcode"`.
• Only the first letter in this word is capital, like `"Google"`.

Given a string `word`, return `true` if the usage of capitals in it is right.

Example 1:

```Input: word = "USA"
Output: true
```

Example 2:

```Input: word = "FlaG"
Output: false
```

Constraints:

• `1 <= word.length <= 100`
• `word` consists of lowercase and uppercase English letters.

## Explanation

Base on the problem description and evaluate the capital usage.

## Python Solution

``````class Solution:
def detectCapitalUse(self, word: str) -> bool:

upper_count = 0
for c in word:

if ord(c) >= ord('A') and ord(c) <= ord('Z'):
upper_count += 1

if upper_count == 0:
return True

if upper_count == len(word):
return True

if upper_count == 1 and ord(word) >= ord('A') and ord(word) <= ord('Z'):
return True

return False``````
• Time Complexity: O(N).
• Space Complexity: O(1).