-
[프로그래머스] Lv1. 문자열 내 p와 y의 개수Share/Pyhton 2021. 4. 15. 14:35
문제
문제생략.
나의 생각
S를 매개변수로 받아서, 모두 대문자로 바꾼다.
그리고 for 를 이용해서 P나 Y의 같은 값이 나오면 cnt 를 올린다.
P와 Y가 갯수가 같아야 하므로, cntA와 cntB가 같으면 True, 아니면 False로 return 한다.
다른 방법으로는, C였다면,
아스키코드 값으로 검색하는 방법도 있을 것 같은데 파이썬이훨씬 간편한듯하다.
코드
def solution(s): # print(s) t = s.upper() print(t) cntA=0 cntB=0 for i in t: # print(i) if(i=='P'): cntA+=1 elif(i=="Y"): cntB+=1 if(cntA !=cntB): return False else: return True solution("pyy")
다른 풀이
def numPY(s): # 함수를 완성하세요 return s.lower().count('p') == s.lower().count('y') # 아래는 테스트로 출력해 보기 위한 코드입니다. print( numPY("pPoooyY") ) print( numPY("Pyy") )
count라는 함수도 있구나.. 훨씬 간단해지긴 하네
이것도 비슷한 방법이겠다.
from collections import Counter def numPY(s): # 함수를 완성하세요 c = Counter(s.lower()) return c['y'] == c['p'] # 아래는 테스트로 출력해 보기 위한 코드입니다. print( numPY("pPoooyY") ) print( numPY("Pyy") )
'Share > Pyhton' 카테고리의 다른 글
[프로그래머스]Lv1. 예산 (0) 2021.05.03 [프로그래머스] Lv1. 문자열 내 마음대로 정렬하기 (0) 2021.04.15 [프로그래머스] Lv1.3진법 뒤집기 (0) 2021.04.13 [프로그래머스] Lv1. 모의고사 , Python (0) 2021.04.09 [프로그래머스] Lv1. 같은 숫자는 싫어 (0) 2021.04.08