문제
문자열 내 p와 y의 개수
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다.
나만의 작고 소중한 풀이
머리를 싸매고 고민해서 나온 비루한 코드는 다음과 같다.
def countPY(s):
ss = s.lower()
count_p = ss.count('p')
count_y = ss.count('y')
if count_p == count_y:
return True
else:
return False
나의 심금을 울렸던 풀이
def numPY(s):
return s.lower().count('p') == s.lower().count('y')
마치 결벽증 환자가 만든듯한 풀이였다.
느낌적인 느낌
저 군더더기 없는, 더할 나위 없이 깔끔한 코드를 보다가 내 코드를 보니, 마치 어지러진 내 방을 보는듯한 답답함이 밀려왔다. 하지만 또 저 인간미 넘치는 코드를 보니 마음 한구석이 따뜻해진다. 아마 컴퓨터도 따뜻해지겠지? 나도 누군가에게 저 코드같이 따뜻한 사람이 되어야겠다.
1빠