처음 의도와 다르게 흘러가서 코드가 조금 지저분해졌다
import sys
word = [] # 단어스택
bracket = 0 # 꺽쇠 표시
line = sys.stdin.readline().strip()
for i in range(len(line)):
if line[i] == '<':
bracket = 1 # 꺽쇠를 만나면 표시
while word: # 이전까지의 스택 역출력 및 스택비움
print(word.pop(),end='')
print('<',end='')
elif line[i] == '>':
print('>',end='')
bracket = 0 # 꺽쇠가 끝나면 표시
elif bracket == 1: # 꺽쇠가 끝날 때 까지 그냥 출력
print(line[i],end='')
elif line[i] == ' ': # 공백을 만나면 스택 역출력 및 비움
while word:
print(word.pop(),end='')
print(' ',end='')
else:
if bracket == 0: # 꺽쇠 외부일 경우만 스택에 push
word.append(line[i])
if i == len(line)-1: # 마지막 스택 역출력
while word:
print(word.pop(),end='')
'알고리듬' 카테고리의 다른 글
[17298] 오큰수 (0) | 2022.08.16 |
---|---|
[10799] 쇠막대기 (0) | 2022.03.14 |
[10866] 덱 (0) | 2022.02.28 |
[1158] 조세퍼스 (0) | 2022.02.18 |
[10845] 큐 (0) | 2022.02.15 |