백준 알고리즘 기초 1/2, 201 - 자료구조2 17413번 단어 뒤집기2

HyeonKi Jo·2022년 11월 17일
0
post-thumbnail

문제

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

코드

text = input().strip()
arr = []
temp = []
answer = ''
flag = False

# 문자를 하나씩 받는다.
for i in range(len(text)):

    # 태그가 시작 '<' 될 때, 순서를 바꾸지 않기위해 flag를 사용
    # 또, 태그가 나오기 전 까지의 단어를 뒤집어서 저장
    if text[i] == '<':
        temp.reverse()
        arr += temp
        flag = True
        temp = ['<']

	# 태그의 끝에서 flag를 False로 하고, 태그 내용을 리스트에 담는다.
    elif text[i] == '>':
        temp.append(text[i])
        arr += temp
        temp = []
        flag = False

 	# 태그가 아닐 떄, 공백이 나오면 그 앞 단어 뒤집고, 공백 붙힘
    elif not flag and text[i] == ' ':
        temp.reverse()
        arr = arr+ temp + [text[i]]
        temp = []
    # 단어 내부의 글자이면 그대로 temp에 붙힘
    else:
        temp.append(text[i])

# 결과 join후 저장
if temp:
    temp.reverse()
    arr += temp

print(''.join(arr))
profile
Talking Potato

0개의 댓글