{"id":34574,"date":"2024-11-01T09:29:36","date_gmt":"2024-11-01T09:29:36","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34574"},"modified":"2024-11-01T11:40:39","modified_gmt":"2024-11-01T11:40:39","slug":"javascript-coding-test-course-finding-the-kth-number-in-an-array","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34574\/","title":{"rendered":"JavaScript Coding Test Course, Finding the Kth Number in an Array"},"content":{"rendered":"<p><body><\/p>\n<p>Coding tests are a very important element in modern software development. Companies issue various algorithm problems to evaluate developers&#8217; problem-solving abilities. Today, we will address the problem of finding the Kth smallest number in an array. This problem is a good example to build basic algorithm skills in handling arrays.<\/p>\n<h2>Problem Description<\/h2>\n<p>Given an array <code>arr<\/code> and an integer <code>k<\/code>, find and return the Kth smallest number in <code>arr<\/code>. The array index starts from 0.<\/p>\n<h3>Input<\/h3>\n<ul>\n<li>Integer array <code>arr<\/code>, length between 1 and 100,000.<\/li>\n<li>Integer <code>k<\/code>, between 1 and the length of the array.<\/li>\n<\/ul>\n<h3>Output<\/h3>\n<p>Return the Kth smallest number from <code>arr<\/code>.<\/p>\n<h2>Example<\/h2>\n<div class=\"example\">\n<strong>Input:<\/strong> <code>arr = [3, 1, 2, 4, 5], k = 2<\/code><br \/>\n<strong>Output:<\/strong> <code>2<\/code><br \/>\n<strong>Explanation:<\/strong> When the array is sorted in ascending order, it becomes [1, 2, 3, 4, 5], and the 2nd number is 2.\n<\/div>\n<div class=\"example\">\n<strong>Input:<\/strong> <code>arr = [7, 10, 4, 3, 20, 15], k = 3<\/code><br \/>\n<strong>Output:<\/strong> <code>7<\/code><br \/>\n<strong>Explanation:<\/strong> When the array is sorted in ascending order, it becomes [3, 4, 7, 10, 15, 20], and the 3rd number is 7.\n<\/div>\n<h2>Solution Process<\/h2>\n<p>This problem can be easily solved by sorting the array first and then finding the Kth element, but the time complexity may vary depending on the sorting method. Here, we will explore two approaches.<\/p>\n<h3>Method 1: Sorting the array and finding the Kth number<\/h3>\n<ol>\n<li>Sort the array in ascending order.<\/li>\n<li>Return the value at index <code>k - 1<\/code> to find the Kth number.<\/li>\n<\/ol>\n<h4>JavaScript Code Example<\/h4>\n<pre><code>function findKthNumber(arr, k) {\n    arr.sort((a, b) =&gt; a - b); \/\/ Sort the array in ascending order\n    return arr[k - 1]; \/\/ Return Kth number\n}\n\n\/\/ Example execution\nconsole.log(findKthNumber([3, 1, 2, 4, 5], 2)); \/\/ 2\nconsole.log(findKthNumber([7, 10, 4, 3, 20, 15], 3)); \/\/ 7\n<\/code><\/pre>\n<p>In the code above, we simply sorted the array and found the Kth element. The time complexity of this method is <code>O(n log n)<\/code>. However, there is a way to find the Kth smallest number without necessarily sorting.<\/p>\n<h3>Method 2: Quickselect Algorithm<\/h3>\n<p>The Quickselect algorithm is a method to find the Kth smallest number in a way similar to Quicksort. This method has an average time complexity of <code>O(n)<\/code>. This algorithm is performed by setting up a subarray and choosing a pivot.<\/p>\n<ol>\n<li>Select a pivot element from the array.<\/li>\n<li>Place values smaller than the pivot on the left and larger values on the right.<\/li>\n<li>If the pivot&#8217;s position is the same as the position of the Kth number, return the pivot.<\/li>\n<li>If not, perform Quickselect recursively in the appropriate subarray based on whether the Kth number is in the left or right subarray.<\/li>\n<\/ol>\n<h4>JavaScript Code Example<\/h4>\n<pre><code>function quickSelect(arr, left, right, k) {\n    if (left === right) {\n        return arr[left]; \/\/ If there is only one element in the array\n    }\n    const pivotIndex = partition(arr, left, right);\n    if (k === pivotIndex) {\n        return arr[k]; \/\/ Kth number found\n    } else if (k &lt; pivotIndex) {\n        return quickSelect(arr, left, pivotIndex - 1, k);\n    } else {\n        return quickSelect(arr, pivotIndex + 1, right, k);\n    }\n}\n\nfunction partition(arr, left, right) {\n    const pivot = arr[right]; \/\/ Select the last element as the pivot\n    let i = left; \n    for (let j = left; j &lt; right; j++) {\n        if (arr[j] &lt;= pivot) {\n            [arr[i], arr[j]] = [arr[j], arr[i]]; \/\/ Swap\n            i++;\n        }\n    }\n    [arr[i], arr[right]] = [arr[right], arr[i]]; \/\/ Final position of the pivot\n    return i; \/\/ Return the index of the pivot\n}\n\nfunction findKthNumber(arr, k) {\n    return quickSelect(arr, 0, arr.length - 1, k - 1); \/\/ Pass K-1 as the argument\n}\n\n\/\/ Example execution\nconsole.log(findKthNumber([3, 1, 2, 4, 5], 2)); \/\/ 2\nconsole.log(findKthNumber([7, 10, 4, 3, 20, 15], 3)); \/\/ 7\n<\/code><\/pre>\n<p>With the above code, we can efficiently find the Kth number using the Quickselect algorithm. This method is particularly useful for large datasets due to its average time complexity of <code>O(n)<\/code>.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this lecture, we explored the problem of finding the Kth number in an array, which is frequently covered in JavaScript coding tests. Although the problem can be solved simply with sorting, we can maximize performance by using efficient methods like Quickselect. Such knowledge can be very useful in actual coding tests, so I highly recommend practicing it.<\/p>\n<p>All algorithms require a basic understanding followed by developing applicability through various problems. In the next lecture, we will cover more diverse array problems and advanced algorithms. Thank you!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coding tests are a very important element in modern software development. Companies issue various algorithm problems to evaluate developers&#8217; problem-solving abilities. Today, we will address the problem of finding the Kth smallest number in an array. This problem is a good example to build basic algorithm skills in handling arrays. Problem Description Given an array &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34574\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;JavaScript Coding Test Course, Finding the Kth Number in an Array&#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":[141],"tags":[],"class_list":["post-34574","post","type-post","status-publish","format-standard","hentry","category-javascript-coding-test"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript Coding Test Course, Finding the Kth Number in an Array - \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\/34574\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript Coding Test Course, Finding the Kth Number in an Array - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Coding tests are a very important element in modern software development. Companies issue various algorithm problems to evaluate developers&#8217; problem-solving abilities. Today, we will address the problem of finding the Kth smallest number in an array. This problem is a good example to build basic algorithm skills in handling arrays. Problem Description Given an array &hellip; \ub354 \ubcf4\uae30 &quot;JavaScript Coding Test Course, Finding the Kth Number in an Array&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34574\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:29:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:40:39+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=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/34574\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34574\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"JavaScript Coding Test Course, Finding the Kth Number in an Array\",\"datePublished\":\"2024-11-01T09:29:36+00:00\",\"dateModified\":\"2024-11-01T11:40:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34574\/\"},\"wordCount\":464,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Javascript Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34574\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34574\/\",\"name\":\"JavaScript Coding Test Course, Finding the Kth Number in an Array - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:29:36+00:00\",\"dateModified\":\"2024-11-01T11:40:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34574\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34574\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34574\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript Coding Test Course, Finding the Kth Number in an Array\"}]},{\"@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":"JavaScript Coding Test Course, Finding the Kth Number in an Array - \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\/34574\/","og_locale":"ko_KR","og_type":"article","og_title":"JavaScript Coding Test Course, Finding the Kth Number in an Array - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Coding tests are a very important element in modern software development. Companies issue various algorithm problems to evaluate developers&#8217; problem-solving abilities. Today, we will address the problem of finding the Kth smallest number in an array. This problem is a good example to build basic algorithm skills in handling arrays. Problem Description Given an array &hellip; \ub354 \ubcf4\uae30 \"JavaScript Coding Test Course, Finding the Kth Number in an Array\"","og_url":"https:\/\/atmokpo.com\/w\/34574\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:29:36+00:00","article_modified_time":"2024-11-01T11:40:39+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":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/34574\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34574\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"JavaScript Coding Test Course, Finding the Kth Number in an Array","datePublished":"2024-11-01T09:29:36+00:00","dateModified":"2024-11-01T11:40:39+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34574\/"},"wordCount":464,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Javascript Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34574\/","url":"https:\/\/atmokpo.com\/w\/34574\/","name":"JavaScript Coding Test Course, Finding the Kth Number in an Array - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:29:36+00:00","dateModified":"2024-11-01T11:40:39+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34574\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34574\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34574\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"JavaScript Coding Test Course, Finding the Kth Number in an Array"}]},{"@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\/34574","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=34574"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34574\/revisions"}],"predecessor-version":[{"id":34575,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34574\/revisions\/34575"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}