Level 32 - 10번

computer_log·2023년 8월 29일
0

4)커서 위치부터 실행 Ctrl+F10

디버깅 연습하쟈!!

#include <iostream>
#include <vector>

using namespace std;

int dat[100] = { 0 };

int isCompare(int t, int v) {
	if (dat[t] > dat[v])return 1;
	if (dat[t] < dat[v])return 0;
	return t < v;
}
int main() {

	int n;
	vector<int>v;
	vector<int>result;
	cin >> n;
	int Nplate[10][10] = { 0 };
	int Bplate[10][10] = { 0 };
	for (int y = 0; y < n; y++) {
		for (int x = 0; x < n; x++) {
			cin >> Nplate[y][x];
		}
	}
	for (int y = 0; y < n; y++) {
		for (int x = 0; x < n; x++) {
			cin >> Bplate[y][x];
		}
	}
	for (int y = 0; y < n; y++) {
		for (int x = 0; x < n; x++) {
			if (Bplate[y][x] == 0)continue;
			int tar = Nplate[y][x];
			v.push_back(tar);
		}
	}

	for (int i = 0; i < v.size(); i++) {
		dat[v[i]]++;
	}

	for (int i = 0; i < v.size(); i++) {
		int tar = v[i];
		result.push_back(tar);
		for (int j = i; j > 0; j--) {
			if (isCompare(result[j - 1], result[j]) == 0) {
				swap(result[j - 1], result[j]);
			}
			else break;
		}
	}
	for (int i = 0; i < result.size(); i++) {
		cout << result[i] << " ";
	}

	return 0;
}


profile
computer_log

0개의 댓글