알고리즘/백준
백준 Python - 2941 크로아티아 알파벳
Wonjun Sung
2021. 2. 12. 22:53
n=input()
c=["c=","c-","dz=","d-","lj","nj","s=","z="]
cnt=0
for i in c:
if i in n:
cnt+=n.count(i)
n=n.replace(i," ")
print(cnt+len(n.replace(" ","")))
- 입력
- 크로아티아 알파벳 리스트 생성
- 알파벳 리스트를 돌며 입력한 문자열(n)검색
- 몇개 있는지 카운트(cnt+)하고 replace로 몽땅 빈 칸으로 변경-> 공백을 없애버리면 이전 문자와 다음 문자가 붙어서 크로아티아 알파벳으로 인식해버린다.
- cnt 값 + 빈 칸 제거한 n의 길이의 합을 구하면 된다.
내 풀이가 영 찝찝해서 다른 사람의 풀이를 찾아보았다. (실수로 아이디를 확인 못했습니다.)
t=input()
for i in ['c=','c-','dz=','d-','lj','nj','s=','z=']:t=t.replace(i,'0')
print(len(t))
나처럼 크로아티아 알파벳을 count()로 세지 않고 바로 0으로 치환시킨 다음 그 길이를 출력한다.
읽고나니 왜 이걸 생각 못 했지.. 자괴감 든다