728x90
https://www.acmicpc.net/problem/17413
import sys
string = sys.stdin.readline().rstrip()
tag = False #1
word='' #2
result='' #3
for i in string:
if tag == False: #4
if i == '<':
tag = True
word = word+i #5
elif i== ' ': #6
word = word + i
result = result + word
word = ''
else: #7
word = i + word
elif tag == True: #8
word = word + i
if i == '>': #9
tag = False
result = result + word
word = '' #10
print(result+word)
#1 : tag변수를 False로 지정해 놓고 tag안 입력인지 아닌지 구분
#2, 3 : 뒤집어 줄 단어 word와 최종 출력할 result를 아무것도 없는 문자열로 선언
#4 : 태그 아닐때
#5 : '<'이면 tag변수 True로 바꾸고 word 변수의 뒤에 i 넣는다.
#6 : 태그 아닐때 빈칸이 오면 빈칸 word 뒤에 넣고 result에 넣은 뒤 word 공백으로 초기화(#8에선 태그안일때 공백은 그냥 word 뒤에 추가)
#7 : 태그 아닐때는 word 반대로 입력
#8 : 태그 맞을때
#9, 10 : 닫는 태그라면 tag변수 False로 다시 바꾸고 닫는 태그까지 result에 넣고 word 공백으로 초기화
예전에 비슷한 문제를 풀어봤던것 같다. 이런 류의 문제를 많이 연습해 봐야겠다. 아마 구현인것 같다. 문자열을 공백으로 초기화해서 코드를 진행하는.. 카테고리를 보면 스택 문제이지만 리스트를 사용하지 않는게 인상 깊다. 문자열 문제를 많이 풀고 스택 문제도 따로 찾아서 풀어야겠다.
https://hgk5722.tistory.com/228?category=999940
비슷한 문제인것 같다. 알고리즘 분류가 아니라 구현하는 느낌에서
https://hgk5722.tistory.com/206?category=999940
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 1439 파이썬(python) : 뒤집기 (0) | 2022.07.18 |
---|---|
[백준] 11721 파이썬(python) : 열 개씩 끊어 출력하기 (0) | 2022.07.18 |
[백준] 9093 파이썬(python) : 단어 뒤집기 (0) | 2022.07.18 |
[백준] 9086 파이썬(python) : 문자열 (0) | 2022.07.18 |
[백준] 1264 파이썬(python) : 모음의 개수 (0) | 2022.07.18 |