개발 공부용

[프로그래머스] 연습문제 - 문자열 내 p와 y의 개수 본문

코딩 테스트/99클럽 TIL

[프로그래머스] 연습문제 - 문자열 내 p와 y의 개수

솝제로 2025. 1. 13. 16:41

 

문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12916?language=python3

 

문제 설명
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.

제한사항

문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다.

 

조건

 

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

2. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return
3. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴
4. 대소문자 구분 X

 

풀이 방법

 

1. 대문자로 문자열 통일 -> string.upper() 사용
2. 문자열을 한 글자씩 리스트로
3. 루프 돌아서 P와 Y의 개수 확인 
4. 개수가 같으면 True 리턴, 다르면 False 리턴

 

작성 코드
def solution(s):  
    upperS = s.upper() # 1
    
    listS = list(upperS) # 2
    
    yCount = 0 # Y 개수
    pCount = 0 # P 개수
    
    for i in listS : # 3
        if (i=='Y') :
            yCount+=1;
        elif (i=='P') :
            pCount+=1;
        else : continue
        
    if (yCount==pCount) : # 4
        return True
    else : 
        return False

 

결과

 

 

연습문제 카테고리의 난이도 Lv.1 문제.

연습문제답게 쉬웠고 금방 풀었다. 그래서 다른 문제도 한 개 더 풀었다.

주로 자바를 쓰다 보니 파이썬을 많이 잊어버렸는데 코테 준비하면서 조금씩 기억을 살려낼 예정.

 

'코딩 테스트 > 99클럽 TIL' 카테고리의 다른 글

[백준] 27160 - 할리갈리  (0) 2025.01.20
[백준] 10798 - 세로읽기  (0) 2025.01.18
[백준] 11945 - 뜨거운 붕어빵  (0) 2025.01.17
[백준] 2675 - 문자열 반복  (0) 2025.01.16
[백준] 11719 - 그대로 출력하기  (0) 2025.01.15