{"id":34370,"date":"2024-11-01T09:27:22","date_gmt":"2024-11-01T09:27:22","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34370"},"modified":"2024-11-01T10:57:30","modified_gmt":"2024-11-01T10:57:30","slug":"c-coding-test-course-assigning-meeting-rooms-2","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34370\/","title":{"rendered":"C++ Coding Test Course, Assigning Meeting Rooms"},"content":{"rendered":"<p><body><\/p>\n<header>\n<h2>Assigning Meeting Rooms<\/h2>\n<\/header>\n<section>\n<h2>Problem Description<\/h2>\n<p>\n        There are N meetings that need to be conducted, each with a start time and an end time.<br \/>\n        How can we assign meeting rooms to maximize the number of meetings?<br \/>\n        In other words, an algorithm needs to be implemented to assign meeting rooms such that the meetings do not overlap.\n    <\/p>\n<p>\n        Input: A list is given containing the start and end times of each meeting.<br \/>\n        For example, there can be a list like <code>[(0, 30), (5, 10), (15, 20)]<\/code>.\n    <\/p>\n<p>\n        Output: Print the maximum number of meetings that can be scheduled.\n    <\/p>\n<\/section>\n<section>\n<h2>Approach to the Problem<\/h2>\n<p>\n        This problem is a typical greedy algorithm problem.<br \/>\n        First, sort the meetings based on their end times,<br \/>\n        then use the approach of proceeding with the meeting that ends the quickest and selecting the next meeting accordingly.\n    <\/p>\n<p>\n        This way, we can make optimal meeting assignments without overlaps.<br \/>\n        A meeting can only be conducted if its start time is greater than or equal to the end time of the previous meeting.\n    <\/p>\n<h2>Step-by-Step Solution Process<\/h2>\n<ol>\n<li>Receive all meeting information.<\/li>\n<li>Sort the meetings based on their end times.<\/li>\n<li>Initialize a variable to count the maximum number of meetings.<\/li>\n<li>Iterate through the meetings and add them if possible.<\/li>\n<li>Print the total number of meetings that can be scheduled.<\/li>\n<\/ol>\n<\/section>\n<section>\n<h2>C++ Code Implementation<\/h2>\n<pre class=\"code\">\n#include <iostream>\n#include <vector>\n#include <algorithm>\n\nusing namespace std;\n\n\/\/ Structure for meeting information\nstruct Meeting {\n    int start;\n    int end;\n};\n\n\/\/ Function to sort meetings based on their end times\nbool compare(Meeting m1, Meeting m2) {\n    return m1.end < m2.end;\n}\n\n\/\/ Function to assign meeting rooms\nint maxMeetings(vector<meeting> &meetings) {\n    \/\/ Sort based on end times\n    sort(meetings.begin(), meetings.end(), compare);\n    \n    int count = 0;\n    int lastEndTime = 0;\n\n    for (const auto &meeting : meetings) {\n        if (meeting.start >= lastEndTime) {\n            \/\/ Proceed with the meeting\n            count++;\n            lastEndTime = meeting.end; \/\/ Update the last end time\n        }\n    }\n\n    return count;\n}\n\nint main() {\n    vector<meeting> meetings = {{0, 30}, {5, 10}, {15, 20}};\n    \n    int result = maxMeetings(meetings);\n    \n    cout << \"Maximum number of meetings that can be assigned: \" << result << endl;\n    return 0;\n}\n    <\/meeting><\/meeting><\/algorithm><\/vector><\/iostream><\/pre>\n<\/section>\n<section>\n<h2>Explanation for Each Step<\/h2>\n<p>\n        First, we use a structure to store the start and end times of the meetings.<br \/>\n        An important point in greedy algorithms is that we need to sort each meeting by their end times.\n    <\/p>\n<p>\n        After sorting, we use a loop to check each meeting.<br \/>\n        If the start time of the current meeting is greater than or equal to the end time of the previous meeting,<br \/>\n        we can conduct this meeting, so we increase the count and update the last end time.\n    <\/p>\n<p>\n        After checking all meetings, the final counted value will be the maximum number of meetings that can be scheduled.\n    <\/p>\n<\/section>\n<section>\n<h2>Test Cases<\/h2>\n<p>\n        We can create several test cases to test the above code.\n    <\/p>\n<pre class=\"code\">\nvector<meeting> test1 = {{1, 3}, {2, 5}, {4, 6}}; \/\/ Expected result: 2\nvector<meeting> test2 = {{1, 10}, {2, 3}, {4, 5}, {6, 8}}; \/\/ Expected result: 3\nvector<meeting> test3 = {{1, 2}, {3, 4}, {5, 6}}; \/\/ Expected result: 3\n    <\/meeting><\/meeting><\/meeting><\/pre>\n<p>\n        You can execute each test case and compare it with the expected results<br \/>\n        to verify if the code is functioning correctly.\n    <\/p>\n<\/section>\n<section>\n<h2>Conclusion<\/h2>\n<p>\n        In this tutorial, we learned how to solve the problem of assigning meeting rooms using C++.<br \/>\n        We understood how the greedy algorithm provides an optimal solution and demonstrated that by considering<br \/>\n        the start and end times of various meetings, we can schedule the maximum number of meetings.\n    <\/p>\n<p>\n        I encourage you to understand and apply this algorithm to solve more complex problems.<br \/>\n        Developing a habit of solving various algorithm problems will improve your coding skills.\n    <\/p>\n<\/section>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Assigning Meeting Rooms Problem Description There are N meetings that need to be conducted, each with a start time and an end time. How can we assign meeting rooms to maximize the number of meetings? In other words, an algorithm needs to be implemented to assign meeting rooms such that the meetings do not overlap. &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34370\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;C++ Coding Test Course, Assigning Meeting Rooms&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[111],"tags":[],"class_list":["post-34370","post","type-post","status-publish","format-standard","hentry","category-c-coding-test-tutorials-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C++ Coding Test Course, Assigning Meeting Rooms - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/34370\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Coding Test Course, Assigning Meeting Rooms - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Assigning Meeting Rooms Problem Description There are N meetings that need to be conducted, each with a start time and an end time. How can we assign meeting rooms to maximize the number of meetings? In other words, an algorithm needs to be implemented to assign meeting rooms such that the meetings do not overlap. &hellip; \ub354 \ubcf4\uae30 &quot;C++ Coding Test Course, Assigning Meeting Rooms&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34370\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:27:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T10:57:30+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/34370\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34370\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"C++ Coding Test Course, Assigning Meeting Rooms\",\"datePublished\":\"2024-11-01T09:27:22+00:00\",\"dateModified\":\"2024-11-01T10:57:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34370\/\"},\"wordCount\":427,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"C++ Coding Test Tutorials\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34370\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34370\/\",\"name\":\"C++ Coding Test Course, Assigning Meeting Rooms - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:27:22+00:00\",\"dateModified\":\"2024-11-01T10:57:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34370\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34370\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34370\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Coding Test Course, Assigning Meeting Rooms\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C++ Coding Test Course, Assigning Meeting Rooms - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/34370\/","og_locale":"ko_KR","og_type":"article","og_title":"C++ Coding Test Course, Assigning Meeting Rooms - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Assigning Meeting Rooms Problem Description There are N meetings that need to be conducted, each with a start time and an end time. How can we assign meeting rooms to maximize the number of meetings? In other words, an algorithm needs to be implemented to assign meeting rooms such that the meetings do not overlap. &hellip; \ub354 \ubcf4\uae30 \"C++ Coding Test Course, Assigning Meeting Rooms\"","og_url":"https:\/\/atmokpo.com\/w\/34370\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:27:22+00:00","article_modified_time":"2024-11-01T10:57:30+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/34370\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34370\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"C++ Coding Test Course, Assigning Meeting Rooms","datePublished":"2024-11-01T09:27:22+00:00","dateModified":"2024-11-01T10:57:30+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34370\/"},"wordCount":427,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["C++ Coding Test Tutorials"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34370\/","url":"https:\/\/atmokpo.com\/w\/34370\/","name":"C++ Coding Test Course, Assigning Meeting Rooms - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:27:22+00:00","dateModified":"2024-11-01T10:57:30+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34370\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34370\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34370\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"C++ Coding Test Course, Assigning Meeting Rooms"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=34370"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34370\/revisions"}],"predecessor-version":[{"id":34371,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34370\/revisions\/34371"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}