https://www.acmicpc.net/problem/17413
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#include <iostream>
#include <string>
#include <stack>
using namespace std;
void print_stack(stack<char> &s)
{
while (!s.empty())
{
cout << s.top();
s.pop();
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string input;
getline(cin, input);
stack<char> s;
bool is_in_tag = false;
for (int i = 0; i < input.size(); i++)
{
// 여는태그에 스택 비우고 플래그 토글
if (input[i] == '<')
{
print_stack(s);
is_in_tag = true;
}
if (is_in_tag)
{
cout << input[i];
}
else
{
// ' '에서 스택 비우고 해당 문자 출력
if (input[i] == ' ')
{
print_stack(s);
cout << input[i];
}
// 태그 밖의 문자는 스택 push
else
{
s.push(input[i]);
}
}
// 닫는 태그에 플래그 토글
if (input[i] == '>')
{
is_in_tag = false;
}
}
print_stack(s);
return 0;
}
Colored by Color Scripter
|
너무 복잡하게 생각 할 필요 없는 문제.
그대로 구현하면 된다.
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]17298번: 오큰수(c++) (0) | 2020.04.21 |
---|---|
[BOJ]10799번: 쇠막대기(c++) (0) | 2020.04.21 |
[BOJ]2225번: 합분해(c++) (0) | 2020.04.20 |
[BOJ]14002번: 가장 긴 증가하는 부분 수열 4(c++) (0) | 2020.04.20 |
[BOJ]10866번: 덱(c++) (0) | 2020.04.15 |
댓글