[Programmers] - 문자열 내 p와 y의 개수

오동훈·2021년 3월 17일
0

Programmers

목록 보기
15/64
post-thumbnail

1. Problem 📃

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

다음 문제는, 문자열 내 p와 y의 개수를 비교하고 같으면 True, 다르면 False를 반환하는 문제입니다.

2. Logic 👨‍🏫

  1. p or P를 발견하게 되면 count 증가
  2. y or Y를 발견하게 되면 count 감소
  3. count가 0일때 True, 아니라면 False 반환

3. Code 💻

1. 내가 푼 코드

def solution(s):
    count = 0
    for i in range(len(s)):
        if int(s[i] == "p") | int(s[i] == "P"):
            count += 1
        elif int(s[i] == 'y') | int(s[i] == 'Y'):
            count -= 1
    return True if count == 0 else False

2. 다른 사람이 푼 코드

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

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( numPY("pPoooyY") )
print( numPY("Pyy") )

4. Feedback 📚

-이 문제에서 크게 어려운 부분은 없었지만, 다른 사람이 푼 코드에서 소문자와 대문자를 신경 안쓰게 하기 위해 lower()를 이용해 count()로 비교하는 것이 되게 참신했다. 기존에 존재하는 라이브러리를 이용해 코드를 효율적으로 줄이는 로직에 대해 생각을 많이 해봐야겠다.

profile
삽질의 기록들🐥

0개의 댓글