백준 2941번 문제
크로아티아 알파벳
문제

풀이
1.
솔찍히 이번 문제는 내가 생각한 방법으로 푸는 문제가 아닌거 같다.
딕셔너리로 각 변경된 알파벳을 넣고 거기에 숫자를 기입한다.
그 후 인풋값을 받으면 딕셔너리에서 서칭 후 숫자들을 더하는 논리인데 이것말고 다른방법으로 푸는문제이지 않나 싶다.
>> 아 문제를 잘못 이해했다. 예제를 보고 오해를 한 것 같다. lj 는 1로 카운트 해야하는데 lj의 크로아티아 알파벳을 보고 2로 카운팅 해야 하는 줄 알았다. 그러면 알파벳마다 다른 숫자가 들어가야하니 딕셔너리가 필요한 것이었는데, 크로아티아 알파벳과 일반 알파벳이 총 몇개인지 출력을 하는것이다. 문제의 지문을 잘 읽지 않아서 생긴 문제다.
2.
그렇다면 리스트를 이용하는 방법이 있다.
크로아티아 변경 알파벳을 리스트로 저장을 한 후, input에서 리스트의 문자랑 비교를 한다.
이때, 동일한게 있다면 즉 ljin이라면 lj는 크로아티아 알파벳 리스트에 있으니까 이를 m으로 변경.
그리고 인풋을 카운팅 하게 되면 li는 m이 되었으니 min이 될 것이고, 이는 3을 반환하게 될 것이다.
3.
다 풀고 생각난건데, 조건이 결국 =과 -가 들어가니까, 이 기호를 제거하고 lj와 nj만 솎아냈어도 풀리긴 할 것 같다.
그러면 숏코딩의 느낌이다보니 의미는없을것 같지만 말이다.
결과
import sys
croatia = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
word = sys.stdin.readline().strip()
for pattern in croatia:
word = word.replace(pattern,"m")
print(len(word))
Coding_Test/백준/Silver/2941. 크로아티아 알파벳 at main · K-MarkLee/Coding_Test
Coding_Test/백준/Silver/2941. 크로아티아 알파벳 at main · K-MarkLee/Coding_Test
This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - K-MarkLee/Coding_Test
github.com
'코딩테스트 > BaekJoon' 카테고리의 다른 글
| 백준 파이썬 코딩테스트 (너의 평점은) (2) | 2025.08.06 |
|---|---|
| 백준 파이썬 코딩테스트 (그룹 단어 체커) (1) | 2025.08.05 |
| 백준 파이썬 코딩테스트 (단어 공부) (2) | 2025.08.01 |
| 백준 파이썬코딩테스트 (팰린드롬인지 확인하기) (4) | 2025.08.01 |
| 백준 파이썬 코딩테스트 (별 찍기 - 7) (3) | 2025.07.30 |