Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
프로그래머스 - '문자열 내 p와 y의 개수' (PYTHON 풀이) 본문
문제:

문자열을 입력받고 해당 문자열에 p, y의 개수가 동일하면(대소문자 구분 없음) true를, 그렇지 않다면 false를 리턴하면 되는 문제이다. 단, p, y 모두 하나도 없는 경우는 항상 true를 리턴해야 한다.
풀이:
def solution(s):
p_count = 0
y_count = 0
for i in s:
if i=='p' or i=='P':
p_count += 1
elif i=='y' or i=='Y':
y_count += 1
if p_count == y_count:
return True
elif p_count != y_count:
return False
elif p_count == 0 and y_count == 0:
return True
p, y의 개수를 저장할 변수를 각각 선언하고 반복문을 돈다. 입력받은 문자열 s를 하나씩 돌면서 p인 경우(대소문자 구분 X), p 개수 변수에 1을 더하고, y인 경우(대소문자 구분 X) y 개수 변수에 1을 더한다.
이후 두 개의 변수의 값이 같으면 True를, 다르면 False를 두 개의 변수 모두 0인 경우 True를 리턴하도록 한다.
def numPY(s):
return s.lower().count('p') == s.lower().count('y')
다른 사람의 풀이도 들고왔다. 정말 간단하다. ㅎ
파이썬은 이렇게 간결하게 쓰는 게 매력인데 아직 나는 멀었다 싶었다.
count 함수를 이렇게도 쓸 수 있구나를 알았고, lower로 대소문자 구분을 하지 않도록 처리하는 것도 다음에 활용해야겠다.
'CODING 💻' 카테고리의 다른 글
| 프로그래머스 - '문자열 다루기 기본' (PYTHON 풀이) (0) | 2026.05.08 |
|---|---|
| 프로그래머스 - '나머지가 1이 되는 수 찾기' (PYTHON 풀이) (0) | 2026.05.07 |
| 프로그래머스 - '나누어 떨어지는 숫자 배열' (PYTHON 풀이) (0) | 2026.05.05 |
| 프로그래머스 - '음양 더하기' (PYTHON 풀이) (0) | 2026.05.04 |
| 프로그래머스 - '수박수박수박수박수박수?' (PYTHON 풀이) (0) | 2026.05.03 |
