반응형
# Problem
문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다.
태그는 '<'로 시작해서 '>'로 끝나는 길이가 3 이상인 부분 문자열이고, '<'와 '>' 사이에는 알파벳 소문자와 공백만 있다. 단어는 알파벳 소문자와 숫자로 이루어진 부분 문자열이고, 연속하는 두 단어는 공백 하나로 구분한다. 태그는 단어가 아니며, 태그와 단어 사이에는 공백이 없다. 입력첫째 줄에 문자열 S가 주어진다. S의 길이는 100,000 이하이다. 출력첫째 줄에 문자열 S의 단어를 뒤집어서 출력한다. |
# Solution
S,temp = input(),""
ck = False
for i in S:
if i ==' ':
if not ck:
print(temp[::-1],end=" ")
temp=""
else: # 괄호 안에 있으면
print(" ",end="")
elif i=="<":
ck = True
print(temp[::-1]+"<",end="")
temp=""
elif i==">":
ck = False
print(">",end="")
else:
if ck: # 괄호 안에 있으면
print(i, end="")
else: # 괄호 안이 아니면
temp+=i # 나중에 한번에 뒤집어 주기 위해 temp에 저장
print(temp[::-1])
반응형
'Algorithm > 백준 알고리즘 풀이' 카테고리의 다른 글
❗️[Baekjoon] 14620. 꽃길 (0) | 2021.05.05 |
---|---|
[Baekjoon] 16956. 늑대와 양 (0) | 2021.05.04 |
[Baekjoon] 16675. 두 개의 손 (0) | 2021.05.04 |
[Baekjoon] 9037. The candy war (0) | 2021.05.04 |
[Baekjoon] 16769. Mixing Milk (0) | 2021.05.03 |