위 문제는 대문자와 소문자를 구별하지 않기 때문에 대문자나 소문자로 통일을 진행하고, ‘p’와 ‘y’의 개수를 count() 메서드를 통해서 측정해서 결과를 비교한다.
문제에서 결과는 true / false인데 이것은 문자열 ‘true’ , ‘false’가 아니라 boolean 형태로 참과 거짓을 판별하는 형태의 true, false이다.
따라서, p’와 ‘y’의 개수를 count() 메서드로 비교해서 같으면 true가 나올것이고 같지 않으면 false가 나오는 형태로 코드를 작성하면 된다.
def solution(s):
return s.lower().count('p') == s.lower().count('y')
나는 여기에 추가적으로 조금 더 가독성을 높이기 위해 같으면 bool(1), 다르면 bool(0)을 사용했다.
def solution(s):
return bool(1) if s.lower().count('p') == s.lower().count('y') else bool(0)
count()
메서드는 튜플, 리스트와 같은 sequence 자료형 (리스트, 튜플, 문자열)에서 사용 가능하다.
※ iterable 자료형 : 리스트, 튜플, 문자열, 집합, 딕셔너리
사용 방법: 객체.count(찾는 요소) or 객체.count(찾는요소, start_index, end_index)
오늘은 문자열 내 특정 문자의 개수를 파악하는 방법을 살펴보았습니다. 이 코드는 기본적으로 파이썬의 count() 메서드와 대, 소문자를 통일 할 수 있는 upper(), lower() 메서드를 안다면 쉽게 풀 수 있는 문제입니다.
읽어주셔서 감사합니다!