[Python] 백준 실버1 4889번 안정적인 문자열 (스택)


[Python] 백준 실버1 4889번 안정적인 문자열 (스택)

안정적인 문자열을 만들기 위해 수정해야 하는 문자열 개수 구하기 풀이 ii = 1 while True: s = input() if '-' in s: break else: stack = [] count = 0 for i in range(len(s)): if not stack: # stack 비어있는 경우 if s[i] == '{': stack.append(s[i]) else: stack.append('{') # '{' 아니면, '{'으로 붙이고 count+=1 # 수정 횟수 +1 else: # stack 채워져 있는 경우 if s[i] == '{': stack.append(s[i]) else: if stack[-1] =='{': # stack 마지막 문자열 '{' 이면 stack.pop() # '}' 붙이지 말고 '{'pop count += len(stack)//2 # for문 실행 결과 '{'만 붙게 됨. 그 중 반만 수정하면 안정 문자열이 됨. print(str(ii)+'. ' +...



원문링크 : [Python] 백준 실버1 4889번 안정적인 문자열 (스택)