์ฐ์ต๋ฌธ์ Lv1. ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์
๋ฌธ์ ์ค๋ช
๋๋ฌธ์์ ์๋ฌธ์๊ฐ ์์ฌ์๋ ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง๋๋ค. s์ 'p'์ ๊ฐ์์ 'y'์ ๊ฐ์๋ฅผ ๋น๊ตํด ๊ฐ์ผ๋ฉด True, ๋ค๋ฅด๋ฉด False๋ฅผ return ํ๋ solution๋ฅผ ์์ฑํ์ธ์. 'p', 'y' ๋ชจ๋ ํ๋๋ ์๋ ๊ฒฝ์ฐ๋ ํญ์ True๋ฅผ ๋ฆฌํดํฉ๋๋ค. ๋จ, ๊ฐ์๋ฅผ ๋น๊ตํ ๋ ๋๋ฌธ์์ ์๋ฌธ์๋ ๊ตฌ๋ณํ์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด s๊ฐ "pPoooyY"๋ฉด true๋ฅผ returnํ๊ณ "Pyy"๋ผ๋ฉด false๋ฅผ returnํฉ๋๋ค.
์ ํ์ฌํญ
- ๋ฌธ์์ด s์ ๊ธธ์ด : 50 ์ดํ์ ์์ฐ์
- ๋ฌธ์์ด s๋ ์ํ๋ฒณ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
s | answer |
"pPoooyY" | true |
"Pyy" | false |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
'p'์ ๊ฐ์ 2๊ฐ, 'y'์ ๊ฐ์ 2๊ฐ๋ก ๊ฐ์ผ๋ฏ๋ก true๋ฅผ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
'p'์ ๊ฐ์ 1๊ฐ, 'y'์ ๊ฐ์ 2๊ฐ๋ก ๋ค๋ฅด๋ฏ๋ก false๋ฅผ return ํฉ๋๋ค.
๋์ ํ์ด
1) ๋์๋ฌธ์ ๊ตฌ๋ณํ์ง ์๋๋ค๊ณ ํ์ผ๋ฏ๋ก lower() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด s๋ฅผ ๋ชจ๋ ์๋ฌธ์๋ก ๋ฐ๊ฟ์ค๋ค
2) p์ y์ ๊ฐ์๋ฅผ count()ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๊ณ ๊ฐ ๋ณ์์ ๋ด์์ค๋ค
3) p_cnt ์ y_cnt ๊ฐ ๊ฐ์ง ์์ผ๋ฉด False ๋ฐํํ๊ณ ์ด์ธ์๋ True ๋ฐํ(๊ฐ์๊ฐ ๊ฐ๊ฑฐ๋, ๋ชจ๋ ์กด์ฌํ์ง ์์ ๋)
def solution(s):
answer = True
s = s.lower()
p_cnt = s.count('p')
y_cnt = s.count('y')
if p_cnt != y_cnt:
return False
return True
๋ค๋ฅธ ์ฌ๋์ ํ์ด
- collections ๋ชจ๋์ Counter ํด๋์ค๋ฅผ ์ฌ์ฉํ์๋ค.
- ๋ฌธ์์ด์ ๋ชจ๋ ์๋ฌธ์๋ก ๋ฐ๊พผ ํ, y์ ๊ฐ์์ p์ ๊ฐ์ ๋น๊ตํ ๊ฐ ๋ฐํ
- count() ํจ์ ์ฌ์ฉ๋ณด๋ค ๋์ฑ ๊ฐ๊ฒฐํ๋ค
from collections import Counter
def numPY(s):
c = Counter(s.lower())
return c['y'] == c['p']
- Counter ์ดํด์ ๋์์ด ๋ ์ฐธ๊ณ ์ฌ์ดํธ