* 영문 문제를 번역하였습니다.
소문자와 대문자를 포함해 구성되는 문자열 s가 매개변수로 주어진다. 문자열 'p'와 'y'의 개수가 동일하다면 True를 동일하지 않다면 False를 return하도록 solution 함수를 완성해주세요. 'p'와 'y'가 모두 없다면 항상 True를 return한다. 또한, 'p'와 'y'의 대소문자는 구분하지 않는다.
s | answer |
---|---|
"pPoooyY" | true |
"Pyy" | false |
입출력 예 설명
1. s 소문자화하기
2. return p의 문자 개수 == y의 문자 개수
def solution(s):
s = s.lower()
return s.count('p') == s.count('y')
collections
의 Counter
클래스collections
모듈의 Counter
클래스를 사용해 문자열의 모든 개수를 dictionary로 생성하여 시간복잡도를 O(1)로 해결할 수 있다.from collections import Counter
def solution(s):
c = Counter(s.lower())
return c['y'] == c['p']