#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> lottos, vector<int> win_nums) {
	vector<int> answer;

	sort(lottos.begin(), lottos.end());
	sort(win_nums.begin(), win_nums.end());

	int zero_cnt = 0;
	int cnt = 0;
	int min_rank = 0;
	int max_rank = 0;

	for (int i = 0; i < lottos.size(); i++)
	{
		if (lottos[i] == 0)
		{
			zero_cnt++;
			continue;
		}

		for (int j = 0; j < win_nums.size(); j++)
		{
			if (lottos[i] < win_nums[j])
			{
				break;
			}
			else if (lottos[i] == win_nums[j])
			{
				cnt++;
				win_nums.erase(win_nums.begin() + j);
				break;
			}

		}
	}

	if (cnt < 2) min_rank = 6;
	else min_rank = 7 - cnt;

	if (cnt + zero_cnt < 2) max_rank = 6;
	else max_rank = 7 - cnt - zero_cnt;

	answer.push_back(max_rank);
	answer.push_back(min_rank);

	return answer;
}

sort사용으로 풀이를 해봤는데 많이 비효율적인것같다.

Posted by pi92

블로그 이미지
pi92

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
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

최근에 올라온 글

최근에 달린 댓글

글 보관함