반응형
quack = input()

next_q ={
  "q":"u",
  "u":"a",
  "a":"c",
  "c":"k",
  "k":"q"
}

temp=[]
printm1=False
for alphabet in quack:
  last_change = " "
  if len(temp)==0 and alphabet =="q":
    temp.append(alphabet)
    continue
  else:
    for temp_index in range(len(temp)):
      if next_q[temp[temp_index][-1]] == alphabet:
        temp[temp_index] += alphabet
        last_change = temp[temp_index]
        break
    if alphabet =="q" and last_change[-1] !="q":
      temp.append("q")
    if alphabet !="q" and last_change==" ":
      printm1 =True

for quackquack in temp:
  if quackquack[-1] !="k":
    printm1=True

if printm1:
  print(-1)

else:
  print(len(temp))
반응형

'computer 지식 > 알고리즘 정복기' 카테고리의 다른 글

2578 빙고 백준 파이썬  (0) 2021.10.13
4396 지뢰찾기 백준 파이썬  (0) 2021.10.13
1244 스위치 켜고 끄기 백준 파이썬  (0) 2021.10.13
백준 1212 파이썬  (0) 2021.10.11
백준 2753번 파이썬  (0) 2021.10.11

+ Recent posts