[백준/파이썬] 17413번

민정·2023년 7월 31일
0

[백준/파이썬]

목록 보기
155/245
post-thumbnail

📍백준 17413번 문제

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

코드

import sys

input = sys.stdin.readline

s = input().rstrip()

word = []
flag = False
res = ''

for i in s:
    if i == " ":
        while word:
            res += word.pop()
        res += i
    elif i == '<':
        while word:
            res += word.pop()
        flag = True
        res += i
    elif i == '>':
        flag = False
        res += i
    elif flag:
        res += i
    else:
        word.append(i)

while word:
    res += word.pop()
print(res)

풀이

'<'와 '>', 공백인 경우를 나누어 문제를 풀며 된다.
새로운 배열 (word)를 이용하여 푸는 문제 !
공백과 '<'이라면, 여태 입력 받은 문자를 res에 더해주면 된다. pop은 뒤에서 부터 값을 삭제하는 함수이므로 pop을 이용한다면 반대로 출력이 된다.
'<'인 경우, flag값을 True로 바꿔주면 된다. 이렇게 되면 바로 다음에 들어오는 값을 res에 바로 추가하므로, 따로 반대로 바꾸지 않아도 된다.
'>'인 경우, 태그가 끝나므로 flag값을 False로 바꾸고 '>'을 바로 res에 더해주면 된다.
만약 마지막 값이 태그가 아닌 일반 값으로 끝날 수 있으므로 word에 값이 남아있다면 pop을 이용해서 res에 더해준다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글