[알고리즘] 백준 - 25215 타이핑 (python3)

배고픈메꾸리·2022년 6월 5일
0

알고리즘

목록 보기
128/128
import sys
str = sys.stdin.readline().rstrip()
s = str
answer = len(str)
caps = False
for i in range(len(str)):
    st = str[i]
    upper = st.isupper()
    if(upper and not caps): # 소문자 -> 대문자
        caps = True
        answer += 1
        if (i < len(str) - 1):
            if (str[i + 1].islower()):  # 대문자가 연속적이지 않은 경우
                caps = False

    elif(caps and not upper): #대문자 -> 소문자
        answer += 1
        caps = False
        if(i < len(str)-1):
            if(str[i+1].isupper()): # 소문자가 연속적이지 않은 경우 (마름모)
                caps = True
print(answer)

대 소문자가 바뀌는 구간에서 +1 (Caps Lock) 해주되, 대 소문자가 바뀌고 1번만 나오고 다시 바뀌는 경우 별표를 활용해야 한다.

profile
FE 개발자가 되자

0개의 댓글