개발자 톡

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

뭐가 다른건지 제발 찾아주세요 ㅠㅜ

등록일
2024-03-26 23:08:39
조회수
297
작성자
fbkc0331



문제에서 주어진 TC에 대한 기대값과 결과값인데 계속 틀렸다고 나오네요

도대체 뭐가 잘못된건지 알려주실분...


[제출 코드, C++]


#include <iostream>

#include <map>

#include <vector>

#include <string>

#include <algorithm>


using namespace std;



int main(int argc, char** argv)

{

  int n, m;

  cin >> n >> m;


  map<string, vector<int>> info;

  for (int i = 0; i < n; i++)

  {

    string room_name;

    cin >> room_name;

    info[room_name] = vector<int>(1, 9);

  }


  for (int i = 0; i < m; i++)

  {

    string room_name;

    int start, end;

    cin >> room_name >> start >> end;

    info[room_name].push_back(start);

    info[room_name].push_back(end);

  }


  int cnt = 0;

  for (auto m : info)

  {

    cnt++;

    auto room_name = m.first;

    auto time_list = m.second;

     

    time_list.push_back(18);

    sort(begin(time_list), end(time_list));


    vector<string> tmp;

    for (int i = 0; i < time_list.size(); i += 2)

    {

      if (time_list[i] != time_list[i + 1])

      {

        string s(6, '\0');

        sprintf(s.data(), "%02d-%02d", time_list[i], time_list[i + 1]);

        //string s = to_string(time_list[i]) + "-" + to_string(time_list[i + 1]);

        tmp.push_back(s);

      }

    }


    cout << "Room " << room_name << ':' << endl;

    if (tmp.empty())

    {

      cout << "Not available";

    }

    else

    {

      cout << tmp.size() << " available:" << endl;

      for (int i = 0; i < tmp.size() - 1; i++)

      {

        cout << tmp[i] << endl;

      }

      cout << tmp[tmp.size()-1];

    }


    if (cnt < info.size())

    {

      cout << "\n-----" << endl;

    }

  }

   

  return 0;

}

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

이 카테고리의 톡 더보기