본문 바로가기
IT/알고리즘

백준 2941 크로아티아 알파벳

by 시작은코딩 2022. 3. 3.
반응형


풀이

alphabet = ['c=','c-','dz=','d-','lj','nj','s=','z=']
dial = input()

for i in alphabet :
    dial = dial.replace(i, '*')
print(len(dial))

replace를 쓰는구나.. 진짜 머리 좋으시다 다른분들..

보고 적은거긴 하지만 이해는 했으니 풀이를 해본다.


 

alphabet에 있는걸 하나씩 꺼내오는데, 이건 replace 이후에 print 값을 넣으면 어떻게 돌아가는지 더 쉽게 보인다.

alphabet = ['c=','c-','dz=','d-','lj','nj','s=','z=']
dial = input()

for i in alphabet :
    dial = dial.replace(i, '*')
    print(dial)
print(len(dial))

이렇게 프린트 dial을 먼저 해보면 (예시 1번의 input 값 ljes=njak 를 넣었을 때)

맨 위는 내가 입력한 input 값이다. 그러므로 alphabet 안에 들어있는 수 (8번)만큼 for문 반복된 것 맞음

5번째 for문을 돌 때 lj가 확인됐고, 그것을 '*'로 치환

6번째 for문을 돌 때 nj가 확인됐고, 그것을 '*'로 치환 

7번째 for문을 돌 때 s=가 확인됐고, 그것을 '*'로 치환​

 

그렇게 *로 3개가 치환됐고,

마지막 dial의 길이(len)을 알아봄으로써, 6이라는 숫자를 얻을 수 있다.

반응형