본문 바로가기
코딩테스트/백준 알고리즘

백준 알고리즘 | 2941 : 크로아티아 알파벳 (Python / 파이썬)

by 함께 공부해요 2020. 9. 21.


크로아티아 알파벳 성공출처다국어분류

시간 제한

메모리 제한

제출

정답

맞은 사람

정답 비율

1 초

128 MB

40912

17508

15441

45.581%

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글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.

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

출력

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

알고리즘 분류

문자열


 

백준 알고리즘 # 2941번 : 크로아티아 알파벳

출처:  https://yuddomack.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-replace-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%A0%9C%EA%B1%B0-%EC%88%98%EC%A0%95%EB%B3%80%ED%99%98

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

for i in c_alphabet:
    word = word.replace(i, "c")

print(len(word))

풀이

변수 c_alphabet으로 크로아티아 알파벳을 미리 [] 리스트로 묶어서 만들어놓았다.

그리고 word 변수를 설정해서 lower()로 소문자로 입력받고 for문으로 각각의 c_alphabet을 반복해주었다.

word = [ljes=njak] (예제 입력1)

반복문 안에서 입력받은 word 중 i에 해당하는

즉 c_alphabet 리스트 안에 있는 문자열에 해당하는 것을 "c"로 바꿔주면

word = [ceccak] (예제 입력1)

위 코드와 같이 변환되고 이것의 길이를 len()으로 출력해주면 끝!🤗

자세한 코드가 궁금하신 분들은 아래 GitHub 참고해주세요🙏

 

wook2124/Algorithm

Practice algorithm. Contribute to wook2124/Algorithm development by creating an account on GitHub.

github.com

최종 소스코드

댓글