문제 출처 : www.acmicpc.net/problem/17413
내 풀이
S = input()
arr = []
tag = []
normal = []
check = True
for i in range(len(S)):
if S[i] == '<':
tag.append(S[i])
if normal:
normal.reverse()
arr.append(normal)
normal = []
check = False
elif S[i] == '>':
tag.append(S[i])
arr.append(tag)
tag = []
check = True
elif S[i] == ' ':
if check == False:
tag.append(S[i])
else:
normal.reverse()
normal.append(S[i])
arr.append(normal)
normal = []
else:
if check == False:
tag.append(S[i])
else:
normal.append(S[i])
if normal:
normal.reverse()
arr.append(normal)
for i in range(len(arr)):
print(''.join(arr[i]), end = '')
<, > 과 공백을 구분해주면 되는 문제였다.
<가 나오면 check를 False로 설정해서 >가 나올때까지 태그를 완성시키고
태그가 끝나면 정답 리스트에 집어 넣었다.
그 외의 경우에는 <나 공백이 올 때까지 임시 리스트에 넣었다가 뒤집어서 정답리스트에 추가시켰다.
'코딩테스트' 카테고리의 다른 글
[백준][파이썬]2060번: 바이러스 (0) | 2021.04.06 |
---|---|
[백준][파이썬]1012번: 유기농 배추 (0) | 2021.04.06 |
[백준][파이썬]1138번: 한 줄로 서기 (0) | 2021.03.31 |
[백준][파이썬]1051번 숫자 정사각형 (0) | 2021.03.31 |
[백준][파이썬]5567번 결혼식 (0) | 2021.03.30 |