반응형
[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-6 심화 1 크로아티아 알파벳 #2941
https://www.acmicpc.net/problem/2941
문제 📢
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.
크로아티아 알파벳 | 변경 |
č | c= |
ć | c- |
dž | dz= |
đ | d- |
lj | lj |
nj | nj |
š | s= |
ž | z= |
예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.
입력 |
출력 |
첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다. 단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다. |
입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. |
예제 입출력 🎨
나의 알고리즘 🎻
먼저 변경한 크로아티아 알파벳을 리스트로 작성해준 뒤, 입력받은 문자열에서 리스트에 저장되어있는 값이 존재하면 해당 알파벳을 문자열에서 지우고 아무 문자 ( 나는 @로 했다 )한개를 추가하여 한 글자 ( 기존 크로아티아 알파벳 )로 변경한것처럼 표현하였다. 마지막으로 문자열의 알파벳 개수를 출력한다.
- 변경한 크로아티아 알파벳 리스트에 저장
- 입력받은 문자열에서 리스트에 포함된 알파벳들을 지우고 @를 추가
- 최종 문자열의 개수를 출력
내가 적은 답안 💡
import sys
W_list = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
W = sys.stdin.readline().rstrip()
for i in range(len(W_list)):
if W_list[i] in W:
W = W.replace(W_list[i], "@")
print(len(W))
이 블로그는 개발자를 꿈꾸는 사람이 열심히 공부하며 적어가는 공간입니다.
제 답안과 풀이가 다를 수 있지만, 정확한 정보를 위해 여러 번 검토하며 적겠습니다!
반응형
'CODES > 백준 | Solved.ac' 카테고리의 다른 글
[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-8 심화 1 너의 평점은 #25206 (0) | 2025.05.23 |
---|---|
[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-7 심화 1 그룹 단어 체커 #1316 (0) | 2025.05.22 |
[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-5 심화 1 단어 공부 #1157 (0) | 2025.05.22 |
[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-4 심화 1 팰린드롬인지 확인하기 #10988 (0) | 2025.05.22 |
[ 백준 파이썬 문제풀이 ] 단계별로 풀어보기 / 6-3 심화 1 별 찍기 - 7 #2444 (1) | 2025.05.22 |