Algorithm/1일 1코테
[프로그래머스 Python] 문자열 내 p와 y의 개수
대인보우
2020. 9. 20. 23:33
반응형
* 문제
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다.
* 입출력 예시
S | ANSWER |
"pPoooyY" | true |
"Pyy" | false |
* 내 답
def solution(s):
numberp = 0
numbery = 0
s = s.lower()
for i in s:
if i == 'p':
numberp += 1
elif i == 'y':
numbery += 1
if numbery == numberp:
return True
else:
return False
* 알고리즘
1. p의 갯수를 넣을 변수, y의 갯수를 넣을 변수
2. lower를 사용해 소문자로 통일
3. s에서 값을 하나씩 꺼내서 p면 p변수 +1, y면 y변수 +1
4. 둘이 같으면 True, 다르면 False
ㅎㅎ.. 효율성이라곤 개밥으로 줘버림
* 다른사람 풀이
def numPY(s):
# 함수를 완성하세요
return s.lower().count('p') == s.lower().count('y')
count함수 완전 잊고있었다.....(TT)
반응형