{"id":34648,"date":"2024-11-01T09:30:27","date_gmt":"2024-11-01T09:30:27","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34648"},"modified":"2024-11-01T11:27:09","modified_gmt":"2024-11-01T11:27:09","slug":"swift-coding-test-course-022-sorting-numbers-3","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34648\/","title":{"rendered":"Swift Coding Test Course, 022 Sorting Numbers 3"},"content":{"rendered":"<div class=\"blog-post\">\n<p>Hello! This time, let&#8217;s solve a coding test problem based on Swift called &#8220;Sorting Numbers 3&#8221;. This problem may seem simple as it involves sorting numbers, but it has specific conditions and constraints, making it a good practice for coding tests. In this article, we will explore the problem definition, input and output formats, algorithmic approaches, and optimization methods in detail.<\/p>\n<h2>Problem Description<\/h2>\n<p>The requirement of the problem is to sort the given numbers, but the range of numbers to be sorted is limited. Specifically, the range of numbers is integers between 1 and 100,000, and the objective is to sort these integers in ascending order and output them.<\/p>\n<p>For example, let\u2019s assume the following numbers are given:<\/p>\n<ul>\n<li>5<\/li>\n<li>3<\/li>\n<li>8<\/li>\n<li>1<\/li>\n<li>2<\/li>\n<\/ul>\n<p>In this case, the output should be displayed as follows:<\/p>\n<ul>\n<li>1<\/li>\n<li>2<\/li>\n<li>3<\/li>\n<li>5<\/li>\n<li>8<\/li>\n<\/ul>\n<h2>Input Format<\/h2>\n<p>The input is provided in the following format:<\/p>\n<ol>\n<li>The first line will contain the number of integers <code>N<\/code>. (1 \u2264 N \u2264 100,000)<\/li>\n<li>The second line contains <code>N<\/code> integers separated by spaces.<\/li>\n<\/ol>\n<h2>Output Format<\/h2>\n<p>The output should print each sorted number on a new line.<\/p>\n<h2>Solution Approach<\/h2>\n<p>This problem involves sorting numbers, so we can use the most basic sorting algorithms. However, since the maximum value of N is 100,000, we cannot use inefficient algorithms like Bubble Sort or Selection Sort that have a time complexity of O(N^2).<\/p>\n<p>We will use the Counting Sort algorithm to solve this problem. Counting Sort is a method that sorts efficiently when the range of given numbers is limited. This algorithm involves the following steps:<\/p>\n<ol>\n<li>Create an array corresponding to the range of input numbers.<\/li>\n<li>Record the count of each input number at the respective index.<\/li>\n<li>Finally, output the sorted numbers based on their counts.<\/li>\n<\/ol>\n<h2>Code Implementation<\/h2>\n<p>Now let&#8217;s write code to solve the problem in Swift. Since Swift allows the use of arrays as fields, implementing Counting Sort is very straightforward. Below is an example of the implementation:<\/p>\n<pre><code>\n    import Foundation\n\n    func countingSort(numbers: [Int]) -&gt; [Int] {\n        \/\/ Since the range of numbers is 1 to 100,000, initialize an array of size 100,001\n        var counts = Array(repeating: 0, count: 100001)\n\n        \/\/ Count the occurrences of each number\n        for number in numbers {\n            counts[number] += 1\n        }\n\n        var sortedNumbers: [Int] = []\n        \n        \/\/ Generate sorted numbers based on the counts\n        for (number, count) in counts.enumerated() {\n            for _ in 0..<count {\n                sortedNumbers.append(number)\n            }\n        }\n        return sortedNumbers\n    }\n\n    \/\/ Perform input and output\n    let n = Int(readLine()!)!\n    let numbers = readLine()!.split(separator: \" \").map { Int($0)! }\n    \n    let sortedNumbers = countingSort(numbers: numbers)\n    \n    for number in sortedNumbers {\n        print(number)\n    }\n<\/code><\/pre>\n<h2>Example Execution<\/h2>\n<p>Let's use the code above to provide input. For instance, suppose we provide the following input:<\/p>\n<pre><code>\n    5\n    5 3 8 1 2\n    <\/code><\/pre>\n<p>The output result should be as follows:<\/p>\n<pre><code>\n    1\n    2\n    3\n    5\n    8\n    <\/code><\/pre>\n<h2>Complexity Analysis<\/h2>\n<p>The time complexity of this algorithm is O(N + K). Here, N is the number of input integers, and K is the range of numbers. In this case, K is fixed at 100,000, making the algorithm highly efficient. The space complexity also requires O(K), taking up O(100,000) space.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this article, we examined the problem \"Sorting Numbers 3\" and implemented a solution using Counting Sort. Problems like these enhance understanding of basic algorithms and are frequently encountered in actual coding tests, so be sure to practice them. In the next tutorial, we will tackle more challenging problems. Thank you!<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello! This time, let&#8217;s solve a coding test problem based on Swift called &#8220;Sorting Numbers 3&#8221;. This problem may seem simple as it involves sorting numbers, but it has specific conditions and constraints, making it a good practice for coding tests. In this article, we will explore the problem definition, input and output formats, algorithmic &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34648\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Swift Coding Test Course, 022 Sorting Numbers 3&#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":[129],"tags":[],"class_list":["post-34648","post","type-post","status-publish","format-standard","hentry","category-swift-coding-test"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Swift Coding Test Course, 022 Sorting Numbers 3 - \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\/34648\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swift Coding Test Course, 022 Sorting Numbers 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! This time, let&#8217;s solve a coding test problem based on Swift called &#8220;Sorting Numbers 3&#8221;. This problem may seem simple as it involves sorting numbers, but it has specific conditions and constraints, making it a good practice for coding tests. In this article, we will explore the problem definition, input and output formats, algorithmic &hellip; \ub354 \ubcf4\uae30 &quot;Swift Coding Test Course, 022 Sorting Numbers 3&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34648\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:30:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:27:09+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\/34648\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34648\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Swift Coding Test Course, 022 Sorting Numbers 3\",\"datePublished\":\"2024-11-01T09:30:27+00:00\",\"dateModified\":\"2024-11-01T11:27:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34648\/\"},\"wordCount\":442,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Swift Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34648\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34648\/\",\"name\":\"Swift Coding Test Course, 022 Sorting Numbers 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:30:27+00:00\",\"dateModified\":\"2024-11-01T11:27:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34648\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34648\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34648\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swift Coding Test Course, 022 Sorting Numbers 3\"}]},{\"@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":"Swift Coding Test Course, 022 Sorting Numbers 3 - \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\/34648\/","og_locale":"ko_KR","og_type":"article","og_title":"Swift Coding Test Course, 022 Sorting Numbers 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! This time, let&#8217;s solve a coding test problem based on Swift called &#8220;Sorting Numbers 3&#8221;. This problem may seem simple as it involves sorting numbers, but it has specific conditions and constraints, making it a good practice for coding tests. In this article, we will explore the problem definition, input and output formats, algorithmic &hellip; \ub354 \ubcf4\uae30 \"Swift Coding Test Course, 022 Sorting Numbers 3\"","og_url":"https:\/\/atmokpo.com\/w\/34648\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:30:27+00:00","article_modified_time":"2024-11-01T11:27:09+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\/34648\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34648\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Swift Coding Test Course, 022 Sorting Numbers 3","datePublished":"2024-11-01T09:30:27+00:00","dateModified":"2024-11-01T11:27:09+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34648\/"},"wordCount":442,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Swift Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34648\/","url":"https:\/\/atmokpo.com\/w\/34648\/","name":"Swift Coding Test Course, 022 Sorting Numbers 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:30:27+00:00","dateModified":"2024-11-01T11:27:09+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34648\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34648\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34648\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Swift Coding Test Course, 022 Sorting Numbers 3"}]},{"@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\/34648","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=34648"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34648\/revisions"}],"predecessor-version":[{"id":34649,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34648\/revisions\/34649"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}