문제
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.
예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.
입력
첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.
단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력된다.
출력
입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
풀이 코드
words = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
w = input()
for i in words:
result = w.replace(i, '#')
w = result
print(len(result))
replace를 떠올려야 된다.!
코드 설명
>>> test = 'abcde'.replace('c', '*')
ab*de
여기서 해결해야 할 것은 알파벳 하나가 2개 문자열로 나타낸다는 거다.
그래서 원래 알파벳 개수보다 큰 값이 출력된다.
words에 포함된 문자는 #으로 변경하면 알파벳 개수에 영향을 주지 않는다.
replace..프로젝트 할때 정말 많이 쓰던건데 문제를 푸는데 전혀 생각이 나지 않는다.
같은 언어인데 프로젝트와 코딩 문제를 분리해서 생각하는거 같다.
분리된 지식을 하나로 만들어준 문제이다!
참고 글
https://www.acmicpc.net/problem/2941
2941번: 크로아티아 알파벳
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=
www.acmicpc.net
'제로베이스 > 코딩테스트' 카테고리의 다른 글
[백준] 1427 소트인사이드 (0) | 2021.11.21 |
---|---|
[백준] 2750 수 정렬하기 (0) | 2021.11.12 |
[백준] 1436 영화감독 숌 (2) | 2021.11.02 |
[백준] 9375 패션왕 신해빈 (2) | 2021.11.02 |
[백준] 3036 링 (2) | 2021.11.02 |