#54. 백준 2941번 문제 풀이: 크로아티아 알파벳 | 문제 원본 보기 |
--입력-- ljes=njak --출력-- 6 --입력-- ddz=z= --출력-- 3 --입력-- nljj --출력-- 3 --입력-- c=c= --출력-- 2 --입력-- dz=ak --출력-- 3
주어진 단어문자열에서 한 글자씩 위치를 이동하면서 크로아티아 변경문자가 있는지 확인하면 된다. -- 단어 루프 (문자열 끝에 도달할 때 까지): 단어문자열 다음글자씩 이동 변경문자가 있으면 변경글자수 만큼 위치 추가 이동, 카운트 +1 증가 변경문자가 없으면 위치 한글자 이동, 카운트 +1 증가 루프 끝 카운트 출력 --
# 크로아티아 알파벳 변경 문자들 목록
ap = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
wd = input() # 단어를 입력 받는다.
l = len(wd) # 단어길이
i = 0 # 단어 위치 인덱스
count = 0 # 알파벳 개수
while i < l:
ck = 0 # 변경 알파벳 체크 여부, 초기값 0
for a in ap:
an = len(a) # 변경 알파벳 글자수
if wd[i:i + an] == a: # 변경 문자와 같으면 알파벳 개수 증가
count += 1 # 변경 문자수가 많더라도 하나만 증가
i += an # 변경된 알파벳 수 만큼 인덱스값 증가
ck = 1 # 변경 알파벳 체크 여부, 1
break # 변경된 알파벳을 찾았으므로 추가 비교 중단.
# 일반 알파벳이면 count(카운트) 와 i(인덱스) 하나씩 증가
if ck == 0:
count += 1
i += 1
print(count) # 알파벳 글자수 출력