본문 바로가기

알고리즘

Boj 2941 크로아티아 알파벳 Python

**정확하지 않은 내용을 담고 있을 수도 있습니다**

 

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

 

č c=
ć c-
dz=
đ d-
lj lj
nj nj
š s=
ž z=

 

다음 표에 따라 크로아티아 알파벳을 포함한 문자열에서 알파벳의 총 개수를 세는 문제

 

크로아티아 알파벳 변환에 대한 정보를 set에 담고, 집합에 포함된 단어들을 문자열에서 삭제시켜준다. 이때 삭제시킨 자리는 공백처리해준다. 삭제와 동시에 해당 알파벳이 등장한 횟수를 누적해준다. 그리고 남은 문자열에 대해서는 공백을 제거해준 뒤, 일반 알파벳의 개수 또한 누적해준 후 출력하면 된다. 

 

이때, 'dz=' 와 'z='을 세는 순서에 따라서 오류가 발생할 수 있기 때문에 'dz='을 모두 제거한 후, 'z='을 탐색하는 순서로 고정해준다.

 

제출코드

s = input()
sub = set()
ans = 0
sub.add("c=")
sub.add("c-")
sub.add("dz=")
sub.add("d-")
sub.add("lj")
sub.add("nj")
sub.add("s=")
for i in sub:
    if i in s:
        ans+=s.count(i)
        s = s.replace(i, " ")
ans+=s.count("z=")
s = s.replace("z=", " ")
s = s.replace(" ", "")
ans+=len(s)
print(ans)

'알고리즘' 카테고리의 다른 글

Boj 1991 c++ 트리순회  (0) 2025.09.16
Boj 2108 통계학 Python  (3) 2025.08.19
Boj 1043 거짓말 Python - 분리 집합  (3) 2025.08.17
Boj 14499 주사위 굴리기 Python  (6) 2025.07.29
Boj 2310 c++ 어드벤처 게임  (0) 2025.07.24