본문 바로가기

ETC

[LV1] 프로그래머스 문자열 내 p와 y의 개수 python

반응형

프로그래머스로 코딩테스트 뽀개기

https://programmers.co.kr/learn/courses/30/lessons/12916

 

코딩테스트 연습 - 문자열 내 p와 y의 개수

대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를

programmers.co.kr

단순 반복문 구현이다.

해당 문제는... 나는 이렇게 풀었다...

def solution(s:str):
    answer = [0,0]
    for s in s.lower():
        if s == 'p':
            answer[0]+=1
        elif s =='y':
            answer[1]+=1

    return True if answer[0] == answer[1] else False

물론 성능 효율면에선 위가 낫다. 왜냐하면 iteration을 한번만 도니까.

아래 풀이는 간결하지면 iteration을 2회 하기에 효율은 떨어진다.

하지만 알아두면 좋은 것...

def solution(s:str):
    return True if s.lower().count("p") == s.lower().count("y") else False
반응형