14405_피카츄 (Python)
0. 출처
- 유형 : 문자열 (silver 5)
- 링크 : 14405번: 피카츄
1. 기록
- 22/03/29 (화)
2. 풀이
(1) 아이디어, 시간복잡도, 자료구조
'''
1. 아이디어
>> "pi", "ka", "chu"를 이어 붙여서 만들 수 있으면
>> pikachu 처럼 이어서 나오는 경우를 말하는 건지..?
>> pi, ka, chu 가 분리되어 나와 있는 경우도 YES 로 출력한다.
>> 이때 pi, ka, chu 의 순서는 어떻게 입력되어도 상관없다.
>> pi, ka, chu 이외의 문자열이 들어있는 경우 NO 로 출력한다.
2. 시간복잡도
>>
3. 자료구조
>>
'''
(2) 예제 입력, 예제 출력
- 예제 입력 1 -
pikapi
- 예제 출력 1 -
YES
- 예제 입력 2 -
pipikachu
- 예제 출력 2 -
YES
- 예제 입력 3 -
pikaqiu
- 예제 출력 3 -
NO
(3) 코드
import re
standard = re.compile('(pi|ka|chu)*')
string = input()
if re.fullmatch(standard, string): # pi 또는 ka 또는 chu 라는 단어만 들어있는 경우
print("YES")
else: # pi 또는 ka 또는 chu 라는 단어 이외의 단어가 들어있는 경우
print("NO")
(4) 정리
처음에 문제 의도를 파악하지 못해 해맸다.
"pi" 또는 "ka" 또는"chu" 라는 단어만 들어있는 경우 "YES" 출력
"pi" 또는 "ka" 또는"chu" 라는 단어 이외의 단어가 들어있는 경우 "NO" 출력
위의 코드를 부정형으로 "pi" 또는 "ka" 또는"chu" 라는 단어 이외의 단어가 들어오는 경우 match 시키는 형식으로 짜보려고 했으나 실패했습니다.
(5) 참고
'코테기록 > 백준' 카테고리의 다른 글
[백준] 1543_문서 검색 (Python) (0) | 2022.03.29 |
---|---|
[백준] 4659_비밀번호 발음하기 (Python) (0) | 2022.03.29 |
[백준] 15904_UCPC는 무엇의 약자일까? (Python) (0) | 2022.03.28 |
[백준] 15881_Pen Pineapple Apple Pen (Python) (0) | 2022.03.28 |
[백준] 8595_히든 넘버 (Python) (0) | 2022.03.28 |