알고리즘/이것저것

[프로그래머스] 문자열 내 p와 y의 개수 - 파이썬(python)

아뵹젼 2022. 9. 6.

 

 

나의 풀이

def solution(s):
    p = 0
    y = 0
    p = s.count('p') + s.count('P')
    y = s.count('y') + s.count('Y')
    return p==y

count 함수를 사용했다.

count() 함수는 문자열에서 사용되는 함수로써, 문자열 내부에서 특정 문자, 또는 문자열이 포함되어 있는지를 count 하여 반환하는 함수이다. 

대소문자를 구별하여, 카운팅 하는 범위 또한 지정이 가능하다.

count("검색할 것", start, end)

 

 

다른 풀이

def numPY(s):
    # 함수를 완성하세요
    return s.lower().count('p') == s.lower().count('y')

대소문자를 가리지 않고 p와 y의 개수를 찾는 것이므로, lower() 로 모든 문자를 소문자화 한 후에 개수를 찾는 간단한 방법이다.

 

 

from collections import Counter

def numPY(s):
    # 함수를 완성하세요
    c = Counter(s.lower())
    return c['y'] == c['p']

collections 모듈의 Counter 를 사용한 풀이이다.

c에 들어간 것은 Counter({'y': 2, 'p': 1}) 와 같다.

 

댓글