백준 13417 c++

magicdrill·2024년 7월 4일
0

백준 문제풀이

목록 보기
384/654

백준 13417 c++

deque를 사용해 결과를 구하는 문제이다. 반복순회를 필요이상으로 많이 한거 같다...

#include <iostream>
#include <vector>
#include <deque>
#include <algorithm>

using namespace std;

void input_card(vector<vector<char>>& card)
{
	int T, N;
	int i, j;
	char temp;

	cin >> T;
	for (i = 0; i < T; i++)
	{
		vector<char> tempcard;

		cin >> N;
		for (j = 0; j < N; j++)
		{
			cin >> temp;
			tempcard.push_back(temp);
		}
		card.push_back(tempcard);
	}

	return;
}


void find_answer(vector<vector<char>>& card)
{
	int i, j;
	char current;

	for (i = 0; i < card.size(); i++)
	{
		deque<char> answer;

		for (j = 0; j < card[i].size(); j++)
		{
			current = card[i][j];
			if (answer.empty())
			{
				answer.push_front(current);
			}
			else
			{
				if (answer.front() < current)
				{
					answer.push_back(current);
				}
				else
				{
					answer.push_front(current);
				}
			}
		}
		for (char temp : answer)
		{
			cout << temp;
		}
		cout << "\n";
	}

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector<vector<char>> card;

	input_card(card);
	find_answer(card);

	return 0;
}

0개의 댓글