Baekjoon 2941.py [크로아티아 알파벳]
내 풀이
import sys
input = sys.stdin.readline
croAlphabet = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
word = list(input().rstrip())
word.append('*')
cnt = 0
for i in range(len(word)-2):
if word[i]+word[i+1] in croAlphabet:
cnt += 1
word[i+1] = '*'
if word[i]+word[i+1]+word[i+2] in croAlphabet:
cnt += 2
word[i+1] = '*'
word[i+2] = '*'
print(len(word)-1-cnt)
복기
- 크로아티아 알파벳이 3글자, 2글자로 구성되어있어서 for 을 어떻게 사용할지 오래 고민했다.
그냥 원소를 하나 추가하면 편한것을.. - 이미 크로아티아 알파벳으로 바뀐 단어를 다시 사용해 개수가 겹치는에러 발생
- 한참 고민하다가 다른 풀이 참고
- 이미사용한것은 *로 바꿈
- 문자열에서 원소를 바꾸는방법을 익히자
word = word.replace(i, '*')
Author And Source
이 문제에 관하여(Baekjoon 2941.py [크로아티아 알파벳]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hohooodo/Baekjoon-2941.py-크로아티아-알파벳저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)