영어 소문자만 포함된 문장 s가 있다고 가정합니다. 팬그램인지 아닌지 확인해봐야겠죠? 문자열이 영어 알파벳에 있는 26개의 문자를 모두 포함하는 경우 팬그램이라고 합니다.
따라서 입력이 s ="thegrumpywizardmakestoxicbrewfortheevilqueenandjack"과 같으면 a에서 z까지 26개의 문자가 있으므로 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
dictb :=새 지도
-
s의 각 i에 대해 수행
-
dictb[i] :=(i가 dictb[i]에 있으면 i, 그렇지 않으면 0) + 1
-
-
dictb의 크기가 26과 같으면
-
참을 반환
-
-
거짓을 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
def solve(s): dictb = {} for i in s: dictb[i] = dictb.get(i,0) + 1 if len(dictb) == 26: return True return False s = "thegrumpywizardmakestoxicbrewfortheevilqueenandjack" print(solve(s))
입력
"thegrumpywizardmakestoxicbrewfortheevilqueenandjack"
출력
True