https://programmers.co.kr/learn/courses/30/lessons/12916
코딩테스트 연습 - 문자열 내 p와 y의 개수
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를
programmers.co.kr
풀이 과정
1. 문자열 s의 문자를 하나 하나 들여다 보면서 p, P를 인식시 p의 개수를 늘리고, y, Y를 인식시 y의 개수를 늘리면서 카운팅하는 것이 정석적인 풀이 방법이다.
파이썬 내장 함수를 좀 더 간결하게 해결할 수 있다.
2. lower()를 이용해 대문자를 전부 다 소문자로 바꾸고 count()로 p와 y의 개수를 세주고 같은지 체크해주면 된다
소스 코드
첫번째 방법
def solution(s):\
count_p = 0
count_y = 0
for letter in s:
if letter in ('p', 'P'):
count_p += 1
if letter in ('y', 'Y'):
count_y += 1
return count_p == count_y
두번째 방법
def solution(s):
return s.lower().count('p') == s.lower().count('y')
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 문자열 다루기 기본 [파이썬] (0) | 2022.06.17 |
---|---|
프로그래머스 - 문자열 내림차순으로 배치하기 [파이썬] (0) | 2022.06.17 |
프로그래머스 - 문자열 내 마음대로 정렬하기 [파이썬] (0) | 2022.06.17 |
프로그래머스 - 두 정수 사이의 합 [파이썬] (0) | 2022.06.17 |
프로그래머스 - 나누어 떨어지는 숫자 배열 [파이썬] (0) | 2022.06.16 |