알고리즘/백준

백준 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(" ","")))
  1. 입력
  2. 크로아티아 알파벳 리스트 생성
  3. 알파벳 리스트를 돌며 입력한 문자열(n)검색
  4. 몇개 있는지 카운트(cnt+)하고 replace로 몽땅 빈 칸으로 변경-> 공백을 없애버리면 이전 문자와 다음 문자가 붙어서 크로아티아 알파벳으로 인식해버린다.
  5. 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으로 치환시킨 다음 그 길이를 출력한다.

읽고나니 왜 이걸 생각 못 했지.. 자괴감 든다