:pencil2:코드

import sys
sys.stdin = open("input.txt")
input = sys.stdin.readline

arr = list(input().rstrip())
n = len(arr)
visited = [False] * n
duck = ["q", "u", "a", "c", "k"]
answer = 0	# 총 오리 숫자

for start in range(n):
    if visited[start]:
        continue
    idx = 0  # 울음소리를 트래킹
    check = False
    for i in range(start, n):
        if visited[i]:
            continue
        if arr[i] == duck[idx]:
            visited[i] = True
            idx += 1

            if idx == 5:
                check = True
                idx = 0

    if check:
        answer += 1
    if idx or not visited[start]:
        print(-1)
        exit()


print(answer)

:star:풀이

5번 정도의 시도 끝에 맞춘 문제이다.

idxcheck를 통해 완벽한 울음소리가 맞는지 판단하였다.

visited를 통해서는 이미 다른 오리의 울음소리이면 지나치도록 구현했다.

처음에 계속 틀렸는데 idx가 0이 아닌 경우에만 올바르지 않은 울음소리라고 생각해서였다.

idx가 0이여도 안쪽의 for문으로 들어가지 못한다면 visited에 체크가 안되기 때문에

이 경우의 조건도 추가해줘서 맞췄다.

구현은 언제 풀어도 어렵다 ㅎㅎ 열심히 하자!

댓글남기기