Check Point !
( 해당사항 ✓체크 )
막힘 없이 수월하게 풀린 문제인가?
1시간이내로 풀렸던 문제인가? ✅
1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
시간을 써도 도무지 풀 수 없는 문제인가?
솔루션을 찾아봤는가? ✅
난이도 체감
최상
상
중
하 ✅ (실3)
<이해도>
완벽히 이해 ✅
다소 헷갈리는 부분들이 있음
이해 못함
<덧붙일 말>
처음에 스택으로 풀어야 한다는 정도는 알았는데 구현력에서 많이 미흡했다.
stk에 append 그대로 진행하되, 진행을하며 조건에 대하여 처리하고, 끝에 input() 값에 대해
빈공간을 추가하여 설정하는것도 생각해보자
https://www.acmicpc.net/problem/17413
ns = input() + ' '
stk = []
res = ''
check = 0
for i in ns:
if i == '<':
check = 1
while stk:
res += (stk.pop())
stk.append(i)
if i == '>':
check = 0
while stk:
res += stk.pop(0)
if check == 0 and i == ' ':
stk.pop()
while stk:
res += stk.pop()
res += ' '
print(res)
< 을 만나면
stk에 쌓은 문자열을 전부 뒤집고 stk를 빈공간으로 만들어준다.
을 만나면
안에있는 값은 전부 뒤집지 않고 정상적으로 출력한다.
하지만 띄워쓰기를 했을때 각 단어별로 뒤집어서 출력 해야하기 떄문에
check를 설정해서 해당 < 이면 1로 괄호 안에 있다고 생각하고, > 이면 0으로 괄호 밖으로 초기화 해준다.
그리고 뒤집어서 정렬하면 처음에 pop()으로 빼기때문에 빈공간이 나오는데 pop으로 먼저 빼주고,
후에 res에 빈공간을 더해주며
input()값에 처음 " " 빈공간을 추가해준다.