[LeetCode] 520. Detect Capital

원숭2·2022년 1월 25일
0

LeetCode

목록 보기
17/51

문제

풀이

크게 3가지 경우로 나뉨.
1) 모두 대문자인 경우
2) 처음만 대문자이고 나머지는 소문자
3) 전부 소문자

  1. ord함수를 통해 첫번째 글자의 대, 소문자 여부 확인함.
  2. 대문자일 경우 두번째도 대문자인지 확인하여 1), 2)번 조건 해당 확인.
  3. 1)이면 upper함수를 사용하여 원본과 비교하고, 2이면 문자열 slicing을 통해 lower함수를 사용하여 원본 slicing과 비교함.
  4. 3)은 lower함수를 사용하여 비교함.

코드

class Solution:
    def detectCapitalUse(self, word: str) -> bool:
        if ord(word[0]) in range(65, 91) :
            if len(word) == 1 :
                return True
            else :
                if ord(word[1]) in range(65, 91) :
                    tmp = word.upper()
                    if tmp == word :
                        return True
                    return False
                else :
                    tmp = word[1:].lower()
                    if tmp == word[1:] :
                        return True
                    return False
        else :
            if word.lower() == word :
                return True
            return False

0개의 댓글