코딩테스트/백준
백준 [14405. 피카츄] - python
DaaEun
2021. 4. 10. 15:20
☞ 문제 14405번 : 피카츄
14405번: 피카츄
피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문
www.acmicpc.net
☞ 풀이
- 문자열 s에서 "pi", "ka", "chu" 문자열을 제거하여 남은 문자열 tmp이 있다면, 피카츄가 발음할 수 없는 문자열이다. 반면에 tmp이 없다면, 피카츄가 발음할 수 있는 문자열이다.
- 문자열 tmp의 존재 유무는 tmp의 길이가 0인지 아닌지로 판별함을 의미한다.
☞ study
▷ sys.stdin.readline().strip()을 사용한다. sys.stdin.readline()은 한줄 단위로 입력받기 때문에, 개행문자를 함께 받는다.
따라서 개행문자 \n를 제거하고자 strip()를 추가한다.
▷ re.sub('패턴', '바꿀문자열', '문자열', 바꿀횟수) 함수를 활용한다.
☞ 코드
import sys
import re
# 입력값 받기
s = sys.stdin.readline().strip()
# s 문자열에서 'pi', 'ka', 'chu' 문자열 제거
tmp = re.sub('pi|ka|chu', '', s)
if not tmp:
print('YES')
else:
print('NO')
☞ 결과
- 맞았습니다!!
- 메모리 : 129532 KB
- 시간 : 184 ms