016. 문자열 내 p와 y의 개수

5504 단어 algorithmalgorithm

문제

내 풀이 1(오답)

def solution(s):

    s = s.lower()
    pc = 0
    yc = 0
    
    for i in s:
        if i == "p":
            pc += 1
        elif i == "s":
            yc += 1
            
    if pc == yc:
        answer = True
    else:
        answer = False
        
    return answer
  • for문에서 반복할 범위를 설정안하는 실수를 했다

내 풀이 2(정답)

def solution(s):

    s = s.lower() # 소문자화
    pc = 0 # p의 개수를 받는 곳
    yc = 0 # y의 개수를 받는 곳
    
    for i in range(0, len(s)): # 범위 설정
        if s[i] == "p":
            pc += 1 # p 개수 세기
        elif s[i] == "y":
            yc += 1 # y 개수 세기
            
    if pc == yc: # p와 y의 개수 비교
        answer = True
    else:
        answer = False
        
    return answer

다른 사람 풀이

def numPY(s):
    return s.lower().count('p') == s.lower().count('y')
  • 저번부터 느끼는거지만 배웠다고 해서 활용할 수 있는 건 아니다
  • 분명 나는 count함수에 대해서 알고 있지만 활용할 생각을 못했다 아마 count함수가 손에 익지 않고 함수의 로직에 대한 이해도가 낮아서 그런 것 같다

좋은 웹페이지 즐겨찾기