소프트웨어에 대한 모든 것

LeetCode 풀기 - 1832. Check if the Sentence Is Pangram 본문

알고리즘/LeetCode

LeetCode 풀기 - 1832. Check if the Sentence Is Pangram

앤테바 2021. 11. 3. 06:30
반응형

1832. Check if the Sentence Is Pangram

https://leetcode.com/problems/check-if-the-sentence-is-pangram/

 

문제)

솔루션1)

  • 각 알파벳을 해쉬에 저장
  • sentence에서 문자를 해쉬에서 key 값 서치해서 있으면 삭제
  • 해쉬의 사이즈가 0이면 pangram을 만족하기 때문에 True를 리턴, 아니면 False
class Solution:
    def checkIfPangram(self, sentence: str) -> bool:
        alphabets = 'abcdefghijklmnopqrstuvwxyz'
        d = {}
        
        for c in alphabets:
            d[c] = None
            
        for c in sentence:
            if c in d:
                del d[c]
                if len(d) == 0:
                    return True
        
        return False

솔루션2)

  • set() 함수로 sentence의 중복 문자 제거 후 남은 문자 수가 26개이면 True, 아니면 False
class Solution:
    def checkIfPangram(self, sentence: str) -> bool:
        return len(set(sentece)) == 26

 

반응형
Comments