{"id":33410,"date":"2024-11-01T09:16:16","date_gmt":"2024-11-01T09:16:16","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33410"},"modified":"2024-11-01T11:38:48","modified_gmt":"2024-11-01T11:38:48","slug":"java-coding-test-course-sort-array-2","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33410\/","title":{"rendered":"Java Coding Test Course, Sort Array 2"},"content":{"rendered":"<p><body><\/p>\n<p>This lecture will cover the coding test preparation problem using Java, <strong>&#8220;Sorting Numbers 2&#8221;<\/strong>. This problem requires sorting the given numbers in ascending order. In particular, the goal of this course is to cultivate the ability to implement efficient sorting algorithms. Along with the process of solving the problem, I will explain the solution in detail using Java code.<\/p>\n<h2>Problem Definition<\/h2>\n<p>The problem is stated as follows:<\/p>\n<pre><code>\nGiven N integers, write a program to sort them in ascending order.\nThe input will have the first line containing the integer N (1 \u2264 N \u2264 100,000),\nfollowed by N lines where each integer is a natural number not exceeding 1,000,000.\n<\/code><\/pre>\n<p>The output should print each integer in sorted order, one per line.<\/p>\n<div class=\"note\">\n<strong>Example Input:<\/strong><br \/>\n5<br \/>\n5<br \/>\n4<br \/>\n3<br \/>\n2<br \/>\n1\n<\/div>\n<div class=\"note\">\n<strong>Example Output:<\/strong><br \/>\n1<br \/>\n2<br \/>\n3<br \/>\n4<br \/>\n5\n<\/div>\n<h2>Problem Analysis<\/h2>\n<p>The given problem is a basic sorting problem that can be solved using various sorting algorithms. However, since the input size (N) can be up to 100,000 and each number can be up to 1,000,000, an efficient algorithm is essential. Among several sorting algorithms available in Java, algorithms with efficient O(N log N) time complexity such as <strong>Quick Sort<\/strong> or <strong>Merge Sort<\/strong> are suitable.<\/p>\n<h2>Algorithm Selection<\/h2>\n<p>The goal of this lecture is to implement a sorting algorithm suitable for Java coding tests to solve the problem. In Java, the Arrays.sort() method can easily perform sorting, but it is important to learn about the internal workings of sorting algorithms. Therefore, we will implement a sorting algorithm ourselves.<\/p>\n<h3>Quick Sort Algorithm<\/h3>\n<p>Quick Sort is a divide and conquer algorithm with an average time complexity of O(N log N). First, a pivot is selected, and then values smaller than the pivot are placed on the left, and larger values on the right to partition the array. This process is repeated recursively to complete the sorting. The overall flow is as follows:<\/p>\n<ol>\n<li>Select a pivot from the array.<\/li>\n<li>Rearrange the array based on the pivot.<\/li>\n<li>Recursively perform quick sort on the left and right subarrays based on the rearranged array.<\/li>\n<\/ol>\n<h2>Java Code Implementation<\/h2>\n<p>Below is the Java code that solves the problem using the Quick Sort algorithm:<\/p>\n<pre><code>\nimport java.util.Scanner;\n\npublic class Main {\n    public static void quickSort(int[] array, int low, int high) {\n        if (low < high) {\n            int pivotIndex = partition(array, low, high);\n            quickSort(array, low, pivotIndex - 1);\n            quickSort(array, pivotIndex + 1, high);\n        }\n    }\n\n    public static int partition(int[] array, int low, int high) {\n        int pivot = array[high];\n        int i = low - 1;\n\n        for (int j = low; j < high; j++) {\n            if (array[j] <= pivot) {\n                i++;\n                swap(array, i, j);\n            }\n        }\n        swap(array, i + 1, high);\n        return i + 1;\n    }\n\n    public static void swap(int[] array, int i, int j) {\n        int temp = array[i];\n        array[i] = array[j];\n        array[j] = temp;\n    }\n\n    public static void main(String[] args) {\n        Scanner scanner = new Scanner(System.in);\n        int N = scanner.nextInt();\n        int[] numbers = new int[N];\n\n        for (int i = 0; i < N; i++) {\n            numbers[i] = scanner.nextInt();\n        }\n\n        quickSort(numbers, 0, N - 1);\n\n        for (int number : numbers) {\n            System.out.println(number);\n        }\n\n        scanner.close();\n    }\n}\n<\/code><\/pre>\n<h3>Code Explanation<\/h3>\n<p>Looking at the code, it first receives the integer N through input and stores those integers in an array through subsequent inputs. Then it calls the <code>quickSort<\/code> method to perform the sorting. The <code>partition<\/code> method selects the pivot, partitions the array, and returns the final position of the pivot, while the <code>swap<\/code> method exchanges the positions of two elements in the array.<\/p>\n<h2>Conclusion<\/h2>\n<p>Through this lecture, we learned how to solve algorithm problems using Java. The <strong>\"Sorting Numbers 2\"<\/strong> problem was solvable using a basic sorting algorithm. By actually implementing Quick Sort to perform sorting, we were able to enhance our understanding of the internal workings of algorithms. I hope that such problems will help improve your skills in Java coding tests.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This lecture will cover the coding test preparation problem using Java, &#8220;Sorting Numbers 2&#8221;. This problem requires sorting the given numbers in ascending order. In particular, the goal of this course is to cultivate the ability to implement efficient sorting algorithms. Along with the process of solving the problem, I will explain the solution in &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33410\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Coding Test Course, Sort Array 2&#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":[139],"tags":[],"class_list":["post-33410","post","type-post","status-publish","format-standard","hentry","category-java-coding-test"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java Coding Test Course, Sort Array 2 - \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\/33410\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Coding Test Course, Sort Array 2 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"This lecture will cover the coding test preparation problem using Java, &#8220;Sorting Numbers 2&#8221;. This problem requires sorting the given numbers in ascending order. In particular, the goal of this course is to cultivate the ability to implement efficient sorting algorithms. Along with the process of solving the problem, I will explain the solution in &hellip; \ub354 \ubcf4\uae30 &quot;Java Coding Test Course, Sort Array 2&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33410\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:16:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:38:48+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\/33410\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33410\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Coding Test Course, Sort Array 2\",\"datePublished\":\"2024-11-01T09:16:16+00:00\",\"dateModified\":\"2024-11-01T11:38:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33410\/\"},\"wordCount\":434,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33410\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33410\/\",\"name\":\"Java Coding Test Course, Sort Array 2 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:16:16+00:00\",\"dateModified\":\"2024-11-01T11:38:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33410\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33410\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33410\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Coding Test Course, Sort Array 2\"}]},{\"@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":"Java Coding Test Course, Sort Array 2 - \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\/33410\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Coding Test Course, Sort Array 2 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"This lecture will cover the coding test preparation problem using Java, &#8220;Sorting Numbers 2&#8221;. This problem requires sorting the given numbers in ascending order. In particular, the goal of this course is to cultivate the ability to implement efficient sorting algorithms. Along with the process of solving the problem, I will explain the solution in &hellip; \ub354 \ubcf4\uae30 \"Java Coding Test Course, Sort Array 2\"","og_url":"https:\/\/atmokpo.com\/w\/33410\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:16:16+00:00","article_modified_time":"2024-11-01T11:38:48+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\/33410\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33410\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Coding Test Course, Sort Array 2","datePublished":"2024-11-01T09:16:16+00:00","dateModified":"2024-11-01T11:38:48+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33410\/"},"wordCount":434,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33410\/","url":"https:\/\/atmokpo.com\/w\/33410\/","name":"Java Coding Test Course, Sort Array 2 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:16:16+00:00","dateModified":"2024-11-01T11:38:48+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33410\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33410\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33410\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Coding Test Course, Sort Array 2"}]},{"@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\/33410","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=33410"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33410\/revisions"}],"predecessor-version":[{"id":33411,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33410\/revisions\/33411"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}