백준 7795 c++

magicdrill·2024년 5월 29일
0

백준 문제풀이

목록 보기
358/654

백준 7795 c++

쉬운 정렬문제이다. 그런데 문제에서 중복경우를 제외하라는 말이 없었지만 임의로 제외해 보았다가 틀렸다. 그리고 다른 분의 풀이보다 시간과 메모리 사용량 둘다 뒤떨어졌다. 참고해 보겠다.

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

using namespace std;

void input_creature(vector<int> &creature_A, vector<int> &creature_B)
{
	int A, B;
	int i, size;

	cin >> A >> B;
	for (i = 0; i < A; i++)
	{
		cin >> size;
		creature_A.push_back(size);
	}
	for (i = 0; i < B; i++)
	{
		cin >> size;
		creature_B.push_back(size);
	}

	return;
}

int answer(vector<int>& creature_A, vector<int>& creature_B)
{
	int ans = 0;
	int i, j;
	
	sort(creature_A.begin(), creature_A.end());
	sort(creature_B.begin(), creature_B.end());
	//중복의 경우 제외?
	for (i = 0; i < creature_A.size(); i++)
	{
		//if (i < creature_A.size() - 2 && creature_A[i] == creature_A[i + 1])
		//{
		//	i++;
		//	continue;
		//}
		for (j = 0; j < creature_B.size(); j++)
		{
			if (creature_A[i] > creature_B[j])
			{
				ans++;
			}
			else
			{
				break;
			}
		}
	}

	return ans;
}

void find_answer()
{
	int T, i;

	cin >> T;
	for (i = 0; i < T; i++)
	{
		vector<int> creature_A;
		vector<int> creature_B;
		input_creature(creature_A, creature_B);
		cout << answer(creature_A, creature_B) << "\n";
	}

	return;
}

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

	find_answer();

	return 0;
}

0개의 댓글