알고리즘

14405-백준-피카츄

easysheep 2023. 3. 20. 20:40

1. 문제 출처

https://www.acmicpc.net/problem/14405

 

14405번: 피카츄

피카츄는 "pi", "ka", "chu"를 발음할 수 있다. 따라서, 피카츄는 이 세 음절을 합친 단어만 발음할 수 있다. 예를 들면, "pikapi"와 "pikachu"가 있다. 문자열 S가 주어졌을 때, 피카츄가 발음할 수 있는 문

www.acmicpc.net

2. 풀이

단순 구현

# 입력
talk = input()
pikachu = ["pi","ka","chu"]
idx = 0

# 해당 문자열로 이루어져 있는지 확인

def solution(check,idx):
    flag = True
    if talk[idx:idx+len(check)] == check:
        idx+=len(check)
    else:
        flag = False
    return idx , flag

# 문자열을 확인 후 해당 문자열로 이루어 지지 않으면 NO를 출력
while idx < len(talk):
    for i in pikachu:
        idx, flag = solution(i,idx)  # 문자열이 있으면 해당 문자열만큼 idx증가 후 flag를 True로
        if flag:
            break
    # 해당 문자열이 아닌 문자열이 존재한다면
    if not flag:
        print("NO")
        break
if flag:
    print("YES")