inp: 입력받은 크로아티 문자를 담아두고 사용하는 변수
cnt: 크로아티아 문자 개수inp에 있는 글자가 2개만 남을 때 까지 다음 과정을 반복한다.
- 첫 두글자 혹은 첫 세글자가 크로아티아 문자인지 확인한다.
-> 크로아티아 문자이면 cnt 1 증가. inp에서 제일 처음 두 글자를 제거한다. 처음으로 돌아가서 반복- 만약 크로아티아 문자가 아니면(카운트가 증가하지 않았으면)
->제일 처음 한 글자를 일반 문자로 취급하고 cnt 1증가. inp에서 제일 첫글자를 제거한다. 처음으로 돌아가서 반복루프가 끝나고 만약 inp에 남아있는 문자가 2글자고 크로아티 문자이면
-> cnt 1 증가. cnt 리턴
남아있는 문자가 크로아티 문자가 아니면(일반문자이면)
-> inp 길이 + cnt 리턴
ljes=njak 의 첫 두글자 혹은 세글자가 크로아티 문자 lj 임
lj 제거 후 inp: es=njak
cnt: 1es=njak 의 첫 두글자 혹은 세글자가 크로아티 문자가 아님.
첫글자 제거 후 inp: s=njak
cnt: 2s=njak 의 첫 두글자 혹은 세글자가 크로아티 문자 s= 임
s= 제거 후 inp: njak
cnt: 3njak 의 첫 두글자 혹은 세글자가 크로아티 문자 nj 임
nj 제거 후 inp: ak
cnt: 4
답: 6
cro_list = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
inp = input()
cnt = 0
while len(inp) > 2:
start = cnt
for c in cro_list:
idx = inp[:len(c)].find(c)
if idx > -1:
inp = inp[len(c):]
cnt = cnt + 1
if cnt == start:
inp = inp[1:]
cnt = cnt + 1
if len(inp) > 1 and inp in cro_list:
cnt = cnt + 1
print(cnt)
else:
print(cnt + len(inp))