14405_피카츄 (Python)

0. 출처

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) 참고

참고 자료
참고 풀이

+ Recent posts