출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

 

예전에 매우 힘겹게 풀었던 기억이 있다. 그떄의 풀이를 까먹었던 문제였고, 실력이 늘고 다시 보니 생각보다 쉽게 풀렸다:

import sys

N = str(sys.stdin.readline().strip())
num_alpha = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']


for i in range(len(num_alpha)):
    for j in range(N.count(num_alpha[i])):
        N = N.replace(num_alpha[i], 'p')
print(len(N))

num_alpha 라는 리스트에 크로아티아 알파벳을 모두 정의해준다.

문자열 Nnum_alpha[i]가 있는 갯수를 세주고, 이 갯수만큼 N 에 있는 그 num_alpha[i] 문자열을 'p'로 대체해준다. (굳이 'p'가 아닌 '#'도 상관 없다) 대체해주고 이를 새로운 N으로 정의해준다. 대체를 해주는 이유는 대체가 아닌 그냥 없애버린다면, 'ddz=z=' 같은 경우 'dz='가 없어지면 'dz='가 남는데 잘못하면 크로아티아 알파벳으로 인식할 수도 있을 것 같아 단순하게 대체해주었다(아닐수도 있지만 혹시 모를 에러를 피하기 위해 뺐다)

 

마지막으로 N의 길이를 출력하면된다.