아 기억난다 진짜 반례 엄청 찾아보면서 계속 값을 넣어봤었다. 정답이 잘 나오는 것 같아 보이지만, 다른 예시를 찾아다가 넣으면 값이 달라서 자꾸 헤맸었던 문제다.
#크로아티아 알파벳
s = input()
arr = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] #길이가 3개인 것도 있는 것에 주의하기
cnt = 0
n = 0
m = 3
while (n < len(s)):
i = s[n:m]
if i in arr: #크로아티아에 해당되면 카운트를 올리고 시작과 끝을 다음 범위로 이동
cnt += 1
n = m
m += 3
else: #길이가 3에서 2로 줄이기
m-=1
if n == m -1: #길이가 1이 되는 경우 카운트를 올리고 범위 이동
cnt += 1
n += 1
m = n + 3
print(cnt)
# ###########################################################################
#크로아티아 알파벳_2
arr = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="]
s = input()
for i in arr:
s = s.replace(i,'*')
print(len(s))
정말 내가 머리싸매며 용케 반례도 다 찾아 고치면서 풀었었는데 다른 분 코드에서 replace()라는 함수를 이용해서 간단하게 해결되는 것을 보고 눈물을 훔쳤다...........
반응형