Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ODQA
- 프로그래머스
- 파이썬 3
- 알고리즘스터디
- 백트랙킹
- 그리디
- 알고리즘_스터디
- Level1
- dfs
- 글또
- 이진탐색
- Level2_PStage
- mrc
- 다시보기
- 구현
- 기술면접
- 최단경로
- 그래프이론
- 단계별문제풀이
- 주간회고
- Level2
- 부스트캠프_AITech3기
- python3
- U_stage
- 백준
- 정렬
- 이코테
- dp
- 개인회고
- 부스트캠프_AITech_3기
Archives
- Today
- Total
국문과 유목민
12. 문자열 내 p와 y의 개수 본문
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(대문자)'는 다르다. 따라서 이를 하나로 통일시켜줘야 한다.
- lower()함수를 통해 소문자로 만든다.
- 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. 정리 및 리뷰
- 비교적 짧은 시간에 코드를 풀어냈다는 점에서 만족도가 높았다.
- 예전에 낯설기만 했던 삼항연산자에 대해서도 어느정도 자연스럽게 생각할 수 있게 되었다.
코드 만족도: ★★★★★
'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글
14. 문자열 다루기 기본 (0) | 2020.09.10 |
---|---|
13. 문자열 내림차순으로 배치하기 (0) | 2020.09.10 |
11. 문자열 내 마음대로 정렬하기 (0) | 2020.09.10 |
10. 두 정수 사이의 합 (0) | 2020.09.09 |
9. 나누어 떨어지는 숫자 배열 (0) | 2020.09.09 |