개발자 톡

연습문제 톡 [21년 재직자 대회 예선] 회의실 예약

회의실 예약 반례부탁해요 ..

등록일
2023-05-25 21:21:33
조회수
320
작성자
kim5458996


#include
#include 
#include 
#include 
#include 
using namespace std;
vector  room;
vector > meeting;
int main(void)
{
	int name, time;
	cin >> name >> time;

	for (int i = 0; i < name; i++) { // 회의실의 수
		string tmp;
		cin >> tmp;
		room.push_back(tmp);
	}
	sort(room.begin(), room.end());

	for (int i = 0; i < time; i++) { // 예약된 회의
		int a, b;
		string tmp;
		cin >> tmp >> a >> b;
		meeting.push_back(make_tuple(tmp, a, b));
	}
	sort(meeting.begin(), meeting.end());
	int cnt = 0;
	for (int i = 0; i < name; i++) {
		cout << "Room " << room[i] << ":" << endl;
		vector  availble;
		int start = 9;
		int end = 18;
		int start_time = 0, end_time = 0;
		string str = "";
		for (int j = cnt; j < time; j++) {
			str = "";
			if (get<0>(meeting[j]) == room[i]) {
				cnt++;
				start_time =get<1>(meeting[j]);
				end_time = get<2>(meeting[j]);
				if (end_time == end) { // 마무리
					break;
				}
				else if (start_time != start) {
					str = "";
					if (to_string(start) == "9") {
						str += "09";
					}
					else {
					str += to_string(start);
				}
					str += "-";
					str += to_string(start_time);
					availble.push_back(str);
				}
				start = end_time;
			}
			else {
				break;
			}

		}
		 if (end != end_time) { //끝나는 시간이 18시가 안됐을때.
			 string tmp = "";
			 if (to_string(start) == "9") {
				 tmp += "09-18";
			 }
			 else {
				 tmp += to_string(end_time);
				 tmp += "-";
				 tmp += to_string(end);
			 }
			availble.push_back(tmp);
		 }
		 else if (start_time != start) { // 시작시간이 9시가 처음이 아닐때
			 string tmp = "";
			 tmp += to_string(start);
			 tmp += "-";
			 tmp += to_string(start_time);
			 availble.push_back(tmp);
		 }


		if (availble.size() == 0) {
			cout << "Not available" << endl;
		}
		else {
			cout << availble.size() << " available:" << endl;
			for (int i = 0; i < availble.size(); i++) {
				cout << availble[i] << endl;
			}
		}
		if (i != (name-1)) {
			cout << "-----" << endl;
		}
	}


}


#[21년_재직자_대회_예선]_회의실_예약
#회의실

이 카테고리의 톡 더보기