{"id":33319,"date":"2024-11-01T09:15:30","date_gmt":"2024-11-01T09:15:30","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33319"},"modified":"2024-11-01T11:39:12","modified_gmt":"2024-11-01T11:39:12","slug":"java-coding-test-course-finding-range-sum-3","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33319\/","title":{"rendered":"Java Coding Test Course, Finding Range Sum 3"},"content":{"rendered":"<p><body><\/p>\n<p>Hello! Today, we will solve a Java coding test problem titled &#8216;Finding the Interval Sum 3&#8217;. The goal of this problem is to devise an algorithm that efficiently computes the sum of a specific interval in a given array. Let&#8217;s take a look at the problem.<\/p>\n<h2>Problem Description<\/h2>\n<p>Given an integer array <code>A<\/code> and <code>m<\/code> queries, each query is represented by two integers <code>X<\/code> and <code>Y<\/code>, and the task is to output the value of <code>A[X] + A[X+1] + ... + A[Y]<\/code>. Note that the queries are 1-indexed.<\/p>\n<h2>Input Format<\/h2>\n<ul>\n<li>The first line contains two integers <code>N<\/code> (the number of elements in the array) and <code>M<\/code> (the number of queries).<\/li>\n<li>The second line contains an array <code>A<\/code> consisting of <code>N<\/code> integers.<\/li>\n<li>From the third line onward, each of the <code>M<\/code> lines contains two integers <code>X<\/code> and <code>Y<\/code> representing each query.<\/li>\n<\/ul>\n<h2>Output Format<\/h2>\n<p>Print the result of each query on a new line.<\/p>\n<h2>Example<\/h2>\n<pre>\nInput Example:\n5 3\n1 2 3 4 5\n1 3\n2 4\n1 5\n\nOutput Example:\n6\n9\n15\n<\/pre>\n<h2>Approach to the Problem<\/h2>\n<p>To find the sum of a specific interval in a 1-indexed array, we can use the following method:<\/p>\n<ol>\n<li><strong>First, create a sum array:<\/strong> Pre-calculate the sum of the original array and create an array that stores the sum at each index. Using this sum array allows us to calculate the interval sum in O(1) time complexity.<\/li>\n<li><strong>Calculate the interval sum:<\/strong> The total sum of the interval can be computed as <code>sum[Y] - sum[X-1]<\/code>. Here, <code>sum[i]<\/code> is the sum from 1 to <code>i<\/code> in the input array.<\/li>\n<\/ol>\n<h2>Algorithm Implementation<\/h2>\n<p>Now, let&#8217;s implement the algorithm in Java. Below is the actual code:<\/p>\n<pre><code>import java.util.Scanner;\n\npublic class IntervalSum {\n    public static void main(String[] args) {\n        Scanner scanner = new Scanner(System.in);\n        \/\/ Get the size of the array N and number of queries M\n        int N = scanner.nextInt();\n        int M = scanner.nextInt();\n\n        \/\/ Declare array A and input values\n        long[] A = new long[N + 1];\n        for (int i = 1; i &lt;= N; i++) {\n            A[i] = scanner.nextLong();\n        }\n\n        \/\/ Declare sum array\n        long[] sum = new long[N + 1];\n\n        \/\/ Create sum array\n        for (int i = 1; i &lt;= N; i++) {\n            sum[i] = sum[i - 1] + A[i];\n        }\n\n        \/\/ Process queries\n        for (int j = 0; j &lt; M; j++) {\n            int X = scanner.nextInt();\n            int Y = scanner.nextInt();\n            \/\/ Calculate and output the interval sum\n            System.out.println(sum[Y] - sum[X - 1]);\n        }\n\n        \/\/ Close the scanner\n        scanner.close();\n    }\n}<\/code><\/pre>\n<h2>Code Explanation<\/h2>\n<p>The above code is structured as follows:<\/p>\n<ol>\n<li>It uses <code>Scanner<\/code> to receive input. It reads the size of the array (<code>N<\/code>) and the number of queries (<code>M<\/code>).<\/li>\n<li>It creates the array <code>A<\/code> and assigns values in a 1-indexed manner.<\/li>\n<li>It generates the sum array <code>sum<\/code>. This array stores the sum from 1 to <code>i<\/code> of the array <code>A<\/code>.<\/li>\n<li>It reads each query&#8217;s <code>X<\/code> and <code>Y<\/code>, calculates the interval sum, and prints the result.<\/li>\n<\/ol>\n<h2>Time Complexity Analysis<\/h2>\n<p>The time complexity of this algorithm is as follows:<\/p>\n<ul>\n<li>It takes O(N) time to create the sum array.<\/li>\n<li>It takes O(1) time to process each query. Therefore, for <code>M<\/code> queries, it takes O(M) time.<\/li>\n<\/ul>\n<p>In conclusion, the overall time complexity of the algorithm is O(N + M). This is an efficient way to solve the problem.<\/p>\n<h2>Conclusion<\/h2>\n<p>Today, we learned how to solve an algorithm problem in Java through the &#8216;Finding the Interval Sum 3&#8217; problem. I hope you understand how to enhance query efficiency by utilizing the sum array. Try more practice problems for additional experience. We will meet again in the next lesson on a different topic. Thank you!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! Today, we will solve a Java coding test problem titled &#8216;Finding the Interval Sum 3&#8217;. The goal of this problem is to devise an algorithm that efficiently computes the sum of a specific interval in a given array. Let&#8217;s take a look at the problem. Problem Description Given an integer array A and m &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33319\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Coding Test Course, Finding Range Sum 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":[139],"tags":[],"class_list":["post-33319","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, Finding Range Sum 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\/33319\/\" \/>\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, Finding Range Sum 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! Today, we will solve a Java coding test problem titled &#8216;Finding the Interval Sum 3&#8217;. The goal of this problem is to devise an algorithm that efficiently computes the sum of a specific interval in a given array. Let&#8217;s take a look at the problem. Problem Description Given an integer array A and m &hellip; \ub354 \ubcf4\uae30 &quot;Java Coding Test Course, Finding Range Sum 3&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33319\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:15:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:39:12+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\/33319\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33319\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Coding Test Course, Finding Range Sum 3\",\"datePublished\":\"2024-11-01T09:15:30+00:00\",\"dateModified\":\"2024-11-01T11:39:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33319\/\"},\"wordCount\":421,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33319\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33319\/\",\"name\":\"Java Coding Test Course, Finding Range Sum 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:15:30+00:00\",\"dateModified\":\"2024-11-01T11:39:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33319\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33319\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33319\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Coding Test Course, Finding Range Sum 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":"Java Coding Test Course, Finding Range Sum 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\/33319\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Coding Test Course, Finding Range Sum 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! Today, we will solve a Java coding test problem titled &#8216;Finding the Interval Sum 3&#8217;. The goal of this problem is to devise an algorithm that efficiently computes the sum of a specific interval in a given array. Let&#8217;s take a look at the problem. Problem Description Given an integer array A and m &hellip; \ub354 \ubcf4\uae30 \"Java Coding Test Course, Finding Range Sum 3\"","og_url":"https:\/\/atmokpo.com\/w\/33319\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:15:30+00:00","article_modified_time":"2024-11-01T11:39:12+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\/33319\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33319\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Coding Test Course, Finding Range Sum 3","datePublished":"2024-11-01T09:15:30+00:00","dateModified":"2024-11-01T11:39:12+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33319\/"},"wordCount":421,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33319\/","url":"https:\/\/atmokpo.com\/w\/33319\/","name":"Java Coding Test Course, Finding Range Sum 3 - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:15:30+00:00","dateModified":"2024-11-01T11:39:12+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33319\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33319\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33319\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Coding Test Course, Finding Range Sum 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\/33319","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=33319"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33319\/revisions"}],"predecessor-version":[{"id":33320,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33319\/revisions\/33320"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}