C언어

백준 boj 17413번 단어 뒤집기 2 stl 짱!

mcdn 2020. 8. 17. 14:38
반응형

예제 입력 7

< space >space space space< spa c e>

예제 출력 7

< space >ecaps ecaps ecaps< spa c e>

#include <iostream>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
using namespace std;


int main(void)
{
	int flag = 0;
	string str;
	stack <char> st;
	queue <char> que;
	
	getline(cin, str);
	int len = 0;
	while (str[len] != '\0')
		len++;
	for (int i = 0; i < len;i++)
	{
		
		if (str[i] && str[i] == '<')
		{
			while (str[i] != '>')
			{
				que.push(str[i]);
				i++;
			}
			que.push(str[i]);
			while (!que.empty())
			{
				cout << que.front();
				que.pop();
			}
		}
		else
		{
			flag = 0;
			while (str[i] && str[i] != ' ' && str[i] != '<')
			{
				st.push(str[i]);
				i++;
			}
			if (str[i] && str[i] == ' ')
				flag = 1;
			else if (str[i] && str[i] == '<')
				i--;
			while (!st.empty())
			{
				cout << st.top();
				st.pop();
			}
			if (flag == 1)
				cout << ' ';
		}
			
	}

	return (0);
}

 

반응형