programmers.co.kr/learn/courses/30/lessons/12916 (Level 1 - 연습문제)
코딩테스트 연습 - 문자열 내 p와 y의 개수
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를
programmers.co.kr
예전에 Java로 풀어봤던 문제인데, 연습 삼아서 Python3으로도 한 번 풀어봤다.
# date: 2020/09/11
# author: psS2mj
# brief: 프로그래머스 연습문제_문자열 내 p와 y의 개수
# 첫 번째 풀이방법
answer = True
Pnum = 0
Ynum = 0
for i in s:
if i == 'P' or i == 'p':
Pnum+=1
elif i == 'Y' or i == 'y':
Ynum+=1
answer = True if Pnum==Ynum else False
# 두 번째 풀이방법
def solution(s):
return s.lower().count('p') == s.lower().count('y')
우선 파이썬에서는 문자열 비교할 때도 자바에서의 equals 같은건 필요 없고 ==으로 다 된다고 배웠다.
그리고 Pnum++ 이런거 없다. 그래서 Pnum += 1 이렇게 해줘야 한다.
마지막으로 자바에서의 삼항연산자 같은 것이 존재한다. 바로 answer = True if Pnum==Ynum else False 이 코드다. if 뒤의 조건을 만족하면 True 값이 되고, 아니라면 False 값이 되는데 코드 보면 금방 이해할 수 있을 것이다.
이렇게 풀고나서 물론 정답은 맞혔지만 파이썬을 잘 활용하는 분들의 풀이를 확인해봤다.
그랬더니 return s.lower().count('p') == s.lower().count('y') 이거 한 줄로 풀어버렸더라...😂
사실 자바에도 toUpperCase()와 toLowerCase()라는 대소문자 변환 메소드가 존재한다.
그러니 우주 최강 파이썬✨에는 당연히 있겠쥬?!
Python 알파벳 대문자로 변환하기
파이썬에서 "ABC"와 "abc"는 다른 문자열(string)이다. 데이터 분석을 하다보면 같은 샘플이름이지만 한...
blog.naver.com
👍대문자로 변환하는 메소드
.upper() => 전체 다 대문자로
.capitalize() => 첫글자만 대문자로
.title() => 제목처리 하듯이 대문자로..
👍소문자로 변환하는 메소드
.lower() => 전체 다 소문자로
그리고 여기에 더해서 부분문자열의 개수를 세주는 메소드도 새로 알게 되었다.
.count() => 찾고 싶은 문자열을 파라미터에 넣으면 개수를 찾아줌 (예: string.count("Y"))
파이썬 문자열 count() 메소드 - 제타위키
다음 문자열 포함...
zetawiki.com
'🥇Problem Solving (psS2mj) > Programmers' 카테고리의 다른 글
[프로그래머스] 월간 코드 챌린지 시즌1 (9월) - 2번 (Python3) (0) | 2020.09.12 |
---|---|
[프로그래머스] 월간 코드 챌린지 시즌1 (9월) - 1번 (Python3) (0) | 2020.09.12 |
[프로그래머스] 프린터 (Java) (0) | 2020.05.20 |
[프로그래머스/SQL] 역순 정렬하기 (MySQL) (0) | 2020.04.14 |
[프로그래머스/SQL] 모든 레코드 조회하기 (MySQL) (0) | 2020.04.13 |
댓글