본문 바로가기
IT/알고리즘

[BAEKJOON] 백준 2941번: 크로아티아 알파벳 (Python)

by 무녈 2021. 8. 18.

문제 링크: https://www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net


문제

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.

크로아티아 알파벳변경

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

예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.

입력

첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.

단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.

출력

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.


코드

dict = ["c=", "c-","dz=","d-","lj","nj","s=","z="]
word = input()

for i in dict:
    word = word.replace(i, "_")
print(len(word))

코드 설명

  1. 단어가 입력되었을 때, 몇개의 크로아티아 알파벳으로 이루어졌는지 구하는 문제이다.
  2. 운영체제에서 크로아티아 알파벳을 입력할 수가 없어 변형된 알파벳에 대한 리스트를 생성한다.
  3. 단어를 입력받고, 알파벳 리스트에 대해 for문을 사용할 때, 입력받은 단어에 알파벳 리스트의 문자가 존재할 경우, replace 함수를 통해 "_"로 대체하여 새롭게 단어를 저장한다.
  4. 최종적으로 for문이 종결되었을 때, 입력받은 단어 내 dict 알파벳이 존재했을 경우, 해당 알파벳은 "_"로 한개의 문자로 변경되었기 때문에, 해당 문자열의 길이를 출력한다.
반응형

댓글