{"id":34778,"date":"2024-11-01T09:31:52","date_gmt":"2024-11-01T09:31:52","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34778"},"modified":"2024-11-01T11:26:35","modified_gmt":"2024-11-01T11:26:35","slug":"swift-coding-test-course-finding-the-order-of-permutations","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34778\/","title":{"rendered":"Swift Coding Test Course, Finding the Order of Permutations"},"content":{"rendered":"<p><body><\/p>\n<p>This course will cover the process of solving an algorithm problem to find the order of permutations using Swift. A permutation refers to the different ways to arrange the elements of a given set in a specific order. This topic is very important in computer science and is used in various applications.<\/p>\n<h2>Problem Description<\/h2>\n<p>The problem is to find the k-th permutation among permutations of n distinct numbers, given the integers n and k. The numbers are natural numbers from 1 to n. In other words, our goal is to print the k-th permutation that comes out for given n and k.<\/p>\n<h3>Problem Example<\/h3>\n<div class=\"example\">\n<strong>Input:<\/strong><br \/>\n        n = 3, k = 3<br \/>\n<strong>Output:<\/strong><br \/>\n        [2, 3, 1]\n    <\/div>\n<div class=\"example\">\n<strong>Input:<\/strong><br \/>\n        n = 4, k = 9<br \/>\n<strong>Output:<\/strong><br \/>\n        [2, 3, 1, 4]\n    <\/div>\n<h2>Problem Solving Process<\/h2>\n<p>There are several approaches to solving the problem. However, we will use a classical mathematical approach to solve it more efficiently. Here are the steps to solve this problem.<\/p>\n<h3>Step 1: Understanding the Number of Permutations<\/h3>\n<p>The number of permutations of n distinct numbers can be calculated as n! (n factorial). Therefore, when n = 3, the number of permutations is 3! = 6. These are as follows:<\/p>\n<pre>\n        1. [1, 2, 3]\n        2. [1, 3, 2]\n        3. [2, 1, 3]\n        4. [2, 3, 1]\n        5. [3, 1, 2]\n        6. [3, 2, 1]\n    <\/pre>\n<h3>Step 2: Finding the k-th Permutation<\/h3>\n<p>To find the k-th permutation, we can divide n! by k while determining each digit. The digit at a specific position can be determined as a subproblem with the remaining digits. Below is how to implement this process in Swift.<\/p>\n<h3>Swift Code<\/h3>\n<pre class=\"code\">\n        import Foundation\n\n        func getPermutation(n: Int, k: Int) -> [Int] {\n            var numbers = Array(1...n)\n            var result = [Int]()\n            var k = k - 1  \/\/ 0-based index\n            var factorials = [1]\n\n            for i in 1..<n {\n                factorials.append(factorials[i - 1] * i)\n            }\n            for i in (0..<n).reversed() {\n                let index = k \/ factorials[i]\n                result.append(numbers[index])\n                numbers.remove(at: index)\n                k %= factorials[i]\n            }\n            return result\n        }\n        \/\/ Example execution\n        print(getPermutation(n: 3, k: 3))  \/\/ Output: [2, 3, 1]\n<\/pre>\n<h3>Step 3: Code Explanation<\/h3>\n<p>In the above code, we first create an array consisting of numbers from 1 to n. Then, we pre-calculate the number of permutations for each number and store them in an array. Using a loop, we find the index of the number corresponding to the current position, add that number to the result array, and remove it from the array. Through this process, we can obtain the k-th permutation.<\/p>\n<h2>Summary of the Problem Solving Process<\/h2>\n<p>This problem is one of the basic coding test problems that involves finding the order of permutations. While learning how to use Swift, we can realize the importance of mathematical thinking and simple algorithm design again. Through such problems, we can improve our coding skills and gain a better position in actual coding tests.<\/p>\n<h2>Additional Problems and Practice<\/h2>\n<p>You can do more practice through the following additional problems.<\/p>\n<h3>Problem 1:<\/h3>\n<p>Find the permutation when n = 5 and k = 60.<\/p>\n<h3>Problem 2:<\/h3>\n<p>Find the permutation when n = 6 and k = 360.<\/p>\n<h3>Problem 3:<\/h3>\n<p>Find the permutation when n = 7 and k = 1000.<\/p>\n<p>Try to deepen your understanding of how the code works by practicing more problems. Thank you!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This course will cover the process of solving an algorithm problem to find the order of permutations using Swift. A permutation refers to the different ways to arrange the elements of a given set in a specific order. This topic is very important in computer science and is used in various applications. Problem Description The &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34778\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Swift Coding Test Course, Finding the Order of Permutations&#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-34778","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, Finding the Order of Permutations - \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\/34778\/\" \/>\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, Finding the Order of Permutations - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"This course will cover the process of solving an algorithm problem to find the order of permutations using Swift. A permutation refers to the different ways to arrange the elements of a given set in a specific order. This topic is very important in computer science and is used in various applications. Problem Description The &hellip; \ub354 \ubcf4\uae30 &quot;Swift Coding Test Course, Finding the Order of Permutations&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34778\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:31:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:26:35+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=\"1\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/34778\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34778\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Swift Coding Test Course, Finding the Order of Permutations\",\"datePublished\":\"2024-11-01T09:31:52+00:00\",\"dateModified\":\"2024-11-01T11:26:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34778\/\"},\"wordCount\":417,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Swift Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34778\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34778\/\",\"name\":\"Swift Coding Test Course, Finding the Order of Permutations - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:31:52+00:00\",\"dateModified\":\"2024-11-01T11:26:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34778\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34778\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34778\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swift Coding Test Course, Finding the Order of Permutations\"}]},{\"@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, Finding the Order of Permutations - \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\/34778\/","og_locale":"ko_KR","og_type":"article","og_title":"Swift Coding Test Course, Finding the Order of Permutations - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"This course will cover the process of solving an algorithm problem to find the order of permutations using Swift. A permutation refers to the different ways to arrange the elements of a given set in a specific order. This topic is very important in computer science and is used in various applications. Problem Description The &hellip; \ub354 \ubcf4\uae30 \"Swift Coding Test Course, Finding the Order of Permutations\"","og_url":"https:\/\/atmokpo.com\/w\/34778\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:31:52+00:00","article_modified_time":"2024-11-01T11:26:35+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":"1\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/34778\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34778\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Swift Coding Test Course, Finding the Order of Permutations","datePublished":"2024-11-01T09:31:52+00:00","dateModified":"2024-11-01T11:26:35+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34778\/"},"wordCount":417,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Swift Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34778\/","url":"https:\/\/atmokpo.com\/w\/34778\/","name":"Swift Coding Test Course, Finding the Order of Permutations - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:31:52+00:00","dateModified":"2024-11-01T11:26:35+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34778\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34778\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34778\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Swift Coding Test Course, Finding the Order of Permutations"}]},{"@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\/34778","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=34778"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34778\/revisions"}],"predecessor-version":[{"id":34779,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34778\/revisions\/34779"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}