일련 번호 2941: 크로아티아어 알파벳/은괴 5/문자열

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

2941: 크로아티아어 알파벳

이전에는 운영 체제에서 크로아티아 문자를 입력할 수 없었습니다.

따라서 크로아티아어 알파벳을 다음과 같이 변경하여 입력합니다.

크로아티아어 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

'''
2941번: 크로아티아 알파벳 / sliver 5 / 문자열
'''


def cnt_alpha(i):
    if i + 1 < len(alpha):
        if alpha(i) == 'c' and (alpha(i + 1) == '=' or alpha(i + 1) == '-'):
            i += 2
        elif alpha(i) == 'd' and alpha(i + 1) == '-':
            i += 2
        elif alpha(i) == 'd' and i + 2 < len(alpha) and alpha(
                i + 1) == 'z' and alpha(i + 2) == '=':
            i += 3
        elif (alpha(i) == 'l' or alpha(i) == 'n') and alpha(i + 1) == 'j':
            i += 2
        elif (alpha(i) == 's' or alpha(i) == 'z') and alpha(i + 1) == '=':
            i += 2
        else:
            i += 1
    else:
        i += 1
    return i


alpha = input()
cnt = 0
i = 0
while i < len(alpha):
    i = cnt_alpha(i)
    cnt += 1
print(cnt)

입력 문자열에서 크로아티아어 알파벳, 일반 알파벳cnt의 문제

계속해서 길이가 2 또는 3인 크로아티아어 알파벳을 인식하는 cnt_alpha 함수를 만듭니다.