{"id":33984,"date":"2024-11-01T09:22:44","date_gmt":"2024-11-01T09:22:44","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33984"},"modified":"2024-11-01T10:54:26","modified_gmt":"2024-11-01T10:54:26","slug":"c-coding-test-course-finding-building-order","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33984\/","title":{"rendered":"C# Coding Test Course, Finding Building Order"},"content":{"rendered":"<p><body><\/p>\n<article>\n<section>\n<h2>Problem Definition<\/h2>\n<p>This problem involves a process of stacking buildings in a specified order of heights. Each building has a unique height, which is given as an integer. Our goal is to determine whether it&#8217;s possible to stack the buildings in the given order of heights and to output that order.<\/p>\n<p>The specifications for the algorithm to be written are as follows:<\/p>\n<ul>\n<li>Input: The heights of N buildings are given.<\/li>\n<li>The buildings must be stacked starting from the shortest to the tallest.<\/li>\n<li>Output: Display the possible stacking order and whether it can be achieved.<\/li>\n<\/ul>\n<\/section>\n<section>\n<h2>Example<\/h2>\n<h3>Input<\/h3>\n<pre>\n                5\n                3\n                1\n                5\n                4\n                2\n            <\/pre>\n<h3>Output<\/h3>\n<pre>\n                Possible\n                1, 2, 3, 4, 5\n            <\/pre>\n<h3>Input<\/h3>\n<pre>\n                3\n                2\n                1\n                2\n            <\/pre>\n<h3>Output<\/h3>\n<pre>\n                Impossible\n            <\/pre>\n<\/section>\n<section>\n<h2>Problem Solving Process<\/h2>\n<p>To solve the problem, the following steps must be carried out.<\/p>\n<ol>\n<li><strong>Input Value Collection<\/strong>: Allow the user to input building heights.<\/li>\n<li><strong>Sorting<\/strong>: Sort the building heights in ascending order.<\/li>\n<li><strong>Duplicate Check<\/strong>: Verify if there are any identical heights. If duplicates exist, it is deemed impossible.<\/li>\n<li><strong>Output<\/strong>: Output the stacking order of the buildings and check if it&#8217;s possible to inform the user.<\/li>\n<\/ol>\n<\/section>\n<section>\n<h2>C# Code Implementation<\/h2>\n<p>Based on the above procedures, I will implement the code in C#. Below is the implemented code.<\/p>\n<pre>\n                using System;\n                using System.Linq;\n\n                class Program\n                {\n                    static void Main(string[] args)\n                    {\n                        int N = Convert.ToInt32(Console.ReadLine());\n                        int[] heights = new int[N];\n\n                        for (int i = 0; i < N; i++)\n                        {\n                            heights[i] = Convert.ToInt32(Console.ReadLine());\n                        }\n\n                        var orderedHeights = heights.Distinct().OrderBy(h => h).ToArray();\n\n                        if (orderedHeights.Length != heights.Length)\n                        {\n                            Console.WriteLine(\"Impossible\");\n                        }\n                        else\n                        {\n                            Console.WriteLine(\"Possible\");\n                            Console.WriteLine(string.Join(\", \", orderedHeights));\n                        }\n                    }\n                }\n            <\/pre>\n<\/section>\n<section>\n<h2>Code Explanation<\/h2>\n<p>Let me explain the key parts of the code.<\/p>\n<ul>\n<li><strong>Input Value Collection:<\/strong> The Console.ReadLine() method is used to receive user input.<\/li>\n<li><strong>Duplicate Removal and Sorting:<\/strong> The <code>Distinct()<\/code> method of LINQ is used to remove duplicates, followed by <code>OrderBy()<\/code> for sorting in ascending order.<\/li>\n<li><strong>Validity Check:<\/strong> Compare the lengths of the original and duplicate-removed arrays to check for duplicates.<\/li>\n<li><strong>Output:<\/strong> Output the possible stacking order or display a message indicating that it is impossible.<\/li>\n<\/ul>\n<\/section>\n<section>\n<h2>Conclusion<\/h2>\n<p>Through this tutorial, we learned the process of solving an algorithm problem related to determining the order of buildings. By utilizing arrays and LINQ in C#, we could efficiently perform duplicate checks and sorting. Solving such types of problems can enhance our understanding of various data structures and algorithms. Additionally, practice testing the code against different cases to develop a more robust implementation.<\/p>\n<\/section>\n<\/article>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Definition This problem involves a process of stacking buildings in a specified order of heights. Each building has a unique height, which is given as an integer. Our goal is to determine whether it&#8217;s possible to stack the buildings in the given order of heights and to output that order. The specifications for the &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33984\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;C# Coding Test Course, Finding Building Order&#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":[90],"tags":[],"class_list":["post-33984","post","type-post","status-publish","format-standard","hentry","category-c-coding-test-tutorials"],"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, Finding Building Order - \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\/33984\/\" \/>\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, Finding Building Order - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Problem Definition This problem involves a process of stacking buildings in a specified order of heights. Each building has a unique height, which is given as an integer. Our goal is to determine whether it&#8217;s possible to stack the buildings in the given order of heights and to output that order. The specifications for the &hellip; \ub354 \ubcf4\uae30 &quot;C# Coding Test Course, Finding Building Order&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33984\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:22:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T10:54:26+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\/33984\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33984\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"C# Coding Test Course, Finding Building Order\",\"datePublished\":\"2024-11-01T09:22:44+00:00\",\"dateModified\":\"2024-11-01T10:54:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33984\/\"},\"wordCount\":331,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"C# Coding Test Tutorials\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33984\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33984\/\",\"name\":\"C# Coding Test Course, Finding Building Order - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:22:44+00:00\",\"dateModified\":\"2024-11-01T10:54:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33984\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33984\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33984\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C# Coding Test Course, Finding Building Order\"}]},{\"@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, Finding Building Order - \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\/33984\/","og_locale":"ko_KR","og_type":"article","og_title":"C# Coding Test Course, Finding Building Order - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Problem Definition This problem involves a process of stacking buildings in a specified order of heights. Each building has a unique height, which is given as an integer. Our goal is to determine whether it&#8217;s possible to stack the buildings in the given order of heights and to output that order. The specifications for the &hellip; \ub354 \ubcf4\uae30 \"C# Coding Test Course, Finding Building Order\"","og_url":"https:\/\/atmokpo.com\/w\/33984\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:22:44+00:00","article_modified_time":"2024-11-01T10:54:26+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\/33984\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33984\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"C# Coding Test Course, Finding Building Order","datePublished":"2024-11-01T09:22:44+00:00","dateModified":"2024-11-01T10:54:26+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33984\/"},"wordCount":331,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["C# Coding Test Tutorials"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33984\/","url":"https:\/\/atmokpo.com\/w\/33984\/","name":"C# Coding Test Course, Finding Building Order - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:22:44+00:00","dateModified":"2024-11-01T10:54:26+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33984\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33984\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33984\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"C# Coding Test Course, Finding Building Order"}]},{"@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\/33984","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=33984"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33984\/revisions"}],"predecessor-version":[{"id":33985,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33984\/revisions\/33985"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}