국문과 유목민

12. 문자열 내 p와 y의 개수 본문

알고리즘_코딩테스트/프로그래머스_Level1

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

논곰 2020. 9. 10. 19:12

0. 문제

링크) 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


1. 알고리즘 계획

- 파이썬의 경우 'p(소문자)'와 'P(대문자)'는 다르다. 따라서 이를 하나로 통일시켜줘야 한다.

  1. lower()함수를 통해 소문자로 만든다.
  2. count()함수를 사용해서 개수를 확인(삼항연산자를 통해 식을 간소화)


2. 나의 코드

def solution(s):
    lower = s.lower()
    answer = True if lower.count("p") == lower.count("y") else False
    return answer


3. 다른 사람의 코드

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

- 위 내 코드와 비슷하다. answer 변수에 삽입 과정을 생략함으로써 식을 간추림


4. 정리 및 리뷰

- 비교적 짧은 시간에 코드를 풀어냈다는 점에서 만족도가 높았다.

- 예전에 낯설기만 했던 삼항연산자에 대해서도 어느정도 자연스럽게 생각할 수 있게 되었다.


코드 만족도: ★★★


Comments