[Algorithm] [백준] 2941

myeonji·2022년 2월 21일
0

Algorithm

목록 보기
50/89
import sys

cro = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

str = sys.stdin.readline().rstrip()

i = 0
cnt2 = 0
cnt3 = 0
while i < len(str)-1:
    if str[i:i+3] == cro[2]:
        cnt3 += 1
        i += 3
    elif str[i:i+2] in cro:
        cnt2 += 1
        i += 2
    else:
        i += 1

print(cnt2 + cnt3 + (len(str) - ((cnt2 * 2)+(cnt3 * 3))))

replace 함수 쓰면 편할 것을.. 왜 생각 못하고 다 풀어쓴거지..
replace 쓴 코드와 메모리/시간 면에서 차이는 없지만 아무래도 replace 함수를 썼다면 훨씬 간결하게 코드를 작성할 수 있다.

import sys

cro = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

str = sys.stdin.readline().rstrip()

for x in cro:
    str = str.replace(x, '.')

print(len(str))

해당하는 부분을 . 으로 대체했으므로 마지막에 그냥 len(str)를 출력하면 된다.

0개의 댓글