본문 바로가기

Python Coding Test

[프로그래머스/파이썬] Lv.1 문자열 내 p와 y의 개수

문제 설명

대문자와 소문자가 섞여있는 문자열 s w

  • True 출력
    • 'p'의 개수와 'y'의 개수가 같은 경우
    • 'p', 'y' 모두 하나도 없는 경우
  • False 출력
    • 'p'의 개수와 'y'의 개수가 다른 경우

예)   s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return

제한사항

  • 문자열 s의 길이 : 50 이하의 자연수
  • 문자열 s는 알파벳으로만 이루어짐

입출력 예

s answer
"pPooyY" true
"Pyy" false

 

입출력 예 설명

  1. 'p'의 개수 2개, 'y'의 개수 2개로 같으니 true를 return 한다.
  2. 'p'의 개수 1개, 'y'의 개수 2개로 다르니 false를 return 한다.

나의 풀이

def solution(s):
    p = 0
    y = 0
    if s.lower().count('p') == s.lower().count('y'):
        return True
    else:
        return False

 

모든 알파벳을 소문자로 만드는 lower 함수를 이용해 소문자만 확인하였다.

다른 사람의 풀이

def solution(s):
	return s.lower().count('p') == s.lower().count('y')

 

== 연산자가 있기 때문에 자동적으로 출력이 True  or  False 이다.

따라서 조건문 사용은 불필요하다.