Level 34 - 3번

computer_log·2023년 9월 1일
0

Q. string
정렬,,
맨앞글짜 똑같은 경우 뭐가 더 큰거임??,

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int n;
int num;
vector<string>v;
vector<string>result;
int compare(string t, string v) {
	if (t < v)return 1;
	if (t > v)return 0;
	return t.length() < v.length();
}
int main() {
	
	freopen_s(new FILE*, "input.txt", "r", stdin);
	cin >> n;
	for (int i = 0; i < n; i++) {
		string name;
		cin >> name;
		v.push_back(name);
	}
	sort(v.begin(), v.end(), compare);
	cin >> num;
	for (int i = 0; i < num; i++) {
		string book;
		int cnt;
		cin >> book;
		cin >> cnt;
		int a = -1;
		int start = 0;
		int end = n - 1;
		while (cnt--) {
			int mid = (start + end) / 2;
			if (v[mid] == book) {
				a = mid;
				break;
			}
			if (v[mid] > book) {
				end = mid - 1;
			}
			else {
				start = mid + 1;
			}
		}
		if (a == -1)result.push_back("fail");
		else { result.push_back("pass"); }
	}
	for (int i = 0; i < result.size(); i++) {
		cout << result[i] << "\n";
	}
	
	return 0;
}

[출력]

profile
computer_log

0개의 댓글