[백준/Python3] 17413 단어 뒤집기2

nyam·2022년 2월 20일
0

백준

목록 보기
1/34
post-thumbnail

https://www.acmicpc.net/problem/17413


코드

# 17413.py 단어 뒤집기2

str = input()
ans = list()
stack = list()
flag = 0

for c in str:
    # 태그 시작 / 공백
    if c == '<':
        # 기존 단어 뒤집어서 넣기
        while stack:
            ans.append(stack.pop())
        ans.append(c)
        flag = 1
    elif c == '>':
        ans.append(c)
        flag = 0
    elif flag == 1:
        ans.append(c)
    elif c == ' ':
        # 기존 단어 뒤집어서 넣기
        while stack:
            ans.append(stack.pop())
        ans.append(c)        
    else:
        stack.append(c)

while stack:
    ans.append(stack.pop())

print(''.join(ans))

태그와 단어로 구성되어 있는 문장에서 단어만을 뒤집는게 목표다.
단어 - 태그/공백이 나올 때까지 스택에 넣어두고 단어가 끝나면 ans에 차례대로 pop하게끔 구현했다.
태그 - 태그의 시작과 끝을 알 수 있게 flag 변수를 이용하고, 태그를 뒤집을 필요는 없으니 ans에 그대로 붙였다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN