본문 바로가기
컴퓨터/알고리즘

[프로그래머스] Lv1 py개수_python 문제 풀이

by 버니케이 2022. 7. 3.
반응형

출처

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

문제

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

입출력 예시

문제풀이1

def solution(s):
    s_list = list(s)
    p,y = 0, 0
    for i in range(len(s_list)):
        if s_list[i] == 'p' or s_list[i] == 'P':
            p = p+1
        elif s_list[i] == 'y' or s_list[i] == 'Y':
            y = y+1

    return p == y
  • 단순히 for 문을 돌려서 문자가 있는지 체크만 해줌
  • 시간복잡도를 고려하지 않은 풀이. 하지만 빠르게 답을 도출할 수 있었다.

문제풀이2

def solution(s):
    if(s.upper().count('P')==s.upper().count('Y')):
        return True
    return False
  • for 문을 사용하지 않고 풀이한 답안(count() 내부적인 부분은 생각하지 않음)
반응형

댓글