[알고리즘 문제풀이] 크로아티아 알파벳

황인권·2023년 4월 17일
0

알고리즘 문제풀이

목록 보기
53/81

문제 제목 : 크로아티아 알파벳

문제 난이도 : 하

문제 유형 : 구현, 문자열

https://www.acmicpc.net/problem/2941
시간 제한 : 1초
메모리 제한 : 128MB

문제풀이 아이디어

  • 문자열의 개수에 따라 비교
  • 연달아 있는 문자가 3개를 더했을 때 크로아티아 알파벳이라면 길이에서 -2를 해준다.
  • 연달아 있는 문자가 2개를 더했을 때 크로아티아 알파벳이라면 길이에서 -1을 해준다.

< 소스코드 >

n = input()
count = len(n)
cro_alphabet = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

for i in range(len(n)):
    if len(n) < 2: # 문자열의 길이가 2보다 작을 때
        count = len(n)
    elif len(n) == 2: # 문자열의 길이가 2일 때
        if (n[i-1] + n[i]) in cro_alphabet:
            count = 1
    # 문자열의 길이가 3이상일 때
    elif (n[i-2] + n[i-1] + n[i]) in cro_alphabet: # 연달아 3개의 문자가 크로아티아 알파벳
        count -= 2
    elif (n[i-1] + n[i]) in cro_alphabet: # 연달아 2개의 문자가 크로아티아 알파벳
        count -= 1
        
print(count)
profile
inkwon Hwang

0개의 댓글