{"id":34258,"date":"2024-11-01T09:26:07","date_gmt":"2024-11-01T09:26:07","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34258"},"modified":"2024-11-01T10:57:57","modified_gmt":"2024-11-01T10:57:57","slug":"c-coding-test-course-finding-the-continuous-sum","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34258\/","title":{"rendered":"C++ Coding Test Course, Finding the Continuous Sum"},"content":{"rendered":"<p><body><\/p>\n<h2>Problem Description<\/h2>\n<p>The problem of calculating the sum of continuous subsequences in an array is a common topic in many coding tests. These problems are a good way to test the ability to manage control flow, manipulate arrays, and consider time complexity. In this tutorial, we will explore this topic in depth through the problem of &#8216;Calculating Continuous Sums&#8217;.<\/p>\n<h3>Problem Definition<\/h3>\n<p>Write a function to calculate the sum of <code>k<\/code> continuous elements from the given integer array <code>arr<\/code>. If the length of <code>arr<\/code> is <code>n<\/code>, <code>k<\/code> must be a value between <code>1<\/code> and <code>n<\/code>. Here, the user should use an optimized method to calculate the continuous sum, and using simple loops is not recommended.<\/p>\n<h3>Input<\/h3>\n<ul>\n<li>The first line contains the integers <code>n<\/code> (<code>1 \u2264 n \u2264 10^5<\/code>) and <code>k<\/code> (<code>1 \u2264 k \u2264 n<\/code>).<\/li>\n<li>The second line contains an array <code>arr<\/code> consisting of <code>n<\/code> integers.<\/li>\n<\/ul>\n<h3>Output<\/h3>\n<p>Print the maximum sum of <code>k<\/code> continuous elements.<\/p>\n<h3>Example<\/h3>\n<pre>\n    Input:\n    5 3\n    1 2 3 4 5\n\n    Output:\n    12\n    <\/pre>\n<p>Explanation: The continuous 3 elements are (3, 4, 5) whose total sum is 12.<\/p>\n<h2>Problem Solving Process<\/h2>\n<p>To solve this problem, there are two main approaches: calculating all combinations using simple iteration and an optimized approach using the sliding window technique.<\/p>\n<h3>1. Simple Iteration Method<\/h3>\n<p>While it is possible to calculate the sum of <code>k<\/code> continuous elements using a simple iteration method, this approach has a time complexity of O(n*k) and becomes inefficient as the size of the array increases.<\/p>\n<pre>\n    void simpleSum(int arr[], int n, int k) {\n        int maxSum = 0;\n        for (int i = 0; i <= n - k; i++) {\n            int currentSum = 0;\n            for (int j = 0; j < k; j++) {\n                currentSum += arr[i + j];\n            }\n            maxSum = max(maxSum, currentSum);\n        }\n        cout << maxSum << endl;\n    }\n    <\/pre>\n<h3>2. Sliding Window Technique<\/h3>\n<p>The sliding window technique works by maintaining the sum of <code>k<\/code> elements by subtracting the previous value and adding the new value. This approach can reduce the time complexity to O(n).<\/p>\n<pre>\n    void slidingWindowSum(int arr[], int n, int k) {\n        int maxSum = 0, currentSum = 0;\n\n        \/\/ Calculate the sum of the first k elements\n        for (int i = 0; i < k; i++) {\n            currentSum += arr[i];\n        }\n        maxSum = currentSum;\n\n        \/\/ Calculate the sum through the sliding window\n        for (int i = k; i < n; i++) {\n            currentSum += arr[i] - arr[i - k];\n            maxSum = max(maxSum, currentSum);\n        }\n        \n        cout << maxSum << endl;\n    }\n    <\/pre>\n<h3>Code Implementation<\/h3>\n<p>Among the two methods above, we will choose the sliding window technique as it is more efficient and write the entire code.<\/p>\n<pre>\n    #include <iostream>\n    #include <algorithm>\n    using namespace std;\n\n    void slidingWindowSum(int arr[], int n, int k) {\n        int maxSum = 0, currentSum = 0;\n\n        \/\/ Calculate the sum of the first k elements\n        for (int i = 0; i < k; i++) {\n            currentSum += arr[i];\n        }\n        maxSum = currentSum;\n\n        \/\/ Calculate the sum through the sliding window\n        for (int i = k; i < n; i++) {\n            currentSum += arr[i] - arr[i - k];\n            maxSum = max(maxSum, currentSum);\n        }\n        \n        cout << maxSum << endl;\n    }\n\n    int main() {\n        int n, k;\n        cin >> n >> k;\n        int arr[n];\n        for(int i = 0; i < n; i++) {\n            cin >> arr[i];\n        }\n        slidingWindowSum(arr, n, k);\n        return 0;\n    }\n    <\/pre>\n<h2>Conclusion<\/h2>\n<p>In this tutorial, we examined how to calculate the sum of continuous subsequences in an array through the problem of 'Calculating Continuous Sums'. By using the sliding window technique, we can reduce the time complexity to O(n), allowing for a more efficient preparation for coding tests.<\/p>\n<h3>References<\/h3>\n<p>\n        - Basic concepts for solving algorithm problems<br \/>\n        - Utilizing C++ STL<br \/>\n        - Code optimization and testing patterns\n<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Description The problem of calculating the sum of continuous subsequences in an array is a common topic in many coding tests. These problems are a good way to test the ability to manage control flow, manipulate arrays, and consider time complexity. In this tutorial, we will explore this topic in depth through the problem &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34258\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;C++ Coding Test Course, Finding the Continuous Sum&#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":[111],"tags":[],"class_list":["post-34258","post","type-post","status-publish","format-standard","hentry","category-c-coding-test-tutorials-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C++ Coding Test Course, Finding the Continuous Sum - \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\/34258\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C++ Coding Test Course, Finding the Continuous Sum - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Problem Description The problem of calculating the sum of continuous subsequences in an array is a common topic in many coding tests. These problems are a good way to test the ability to manage control flow, manipulate arrays, and consider time complexity. In this tutorial, we will explore this topic in depth through the problem &hellip; \ub354 \ubcf4\uae30 &quot;C++ Coding Test Course, Finding the Continuous Sum&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34258\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:26:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T10:57:57+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\/34258\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34258\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"C++ Coding Test Course, Finding the Continuous Sum\",\"datePublished\":\"2024-11-01T09:26:07+00:00\",\"dateModified\":\"2024-11-01T10:57:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34258\/\"},\"wordCount\":340,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"C++ Coding Test Tutorials\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34258\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34258\/\",\"name\":\"C++ Coding Test Course, Finding the Continuous Sum - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:26:07+00:00\",\"dateModified\":\"2024-11-01T10:57:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34258\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34258\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34258\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Coding Test Course, Finding the Continuous Sum\"}]},{\"@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":"C++ Coding Test Course, Finding the Continuous Sum - \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\/34258\/","og_locale":"ko_KR","og_type":"article","og_title":"C++ Coding Test Course, Finding the Continuous Sum - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Problem Description The problem of calculating the sum of continuous subsequences in an array is a common topic in many coding tests. These problems are a good way to test the ability to manage control flow, manipulate arrays, and consider time complexity. In this tutorial, we will explore this topic in depth through the problem &hellip; \ub354 \ubcf4\uae30 \"C++ Coding Test Course, Finding the Continuous Sum\"","og_url":"https:\/\/atmokpo.com\/w\/34258\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:26:07+00:00","article_modified_time":"2024-11-01T10:57:57+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\/34258\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34258\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"C++ Coding Test Course, Finding the Continuous Sum","datePublished":"2024-11-01T09:26:07+00:00","dateModified":"2024-11-01T10:57:57+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34258\/"},"wordCount":340,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["C++ Coding Test Tutorials"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34258\/","url":"https:\/\/atmokpo.com\/w\/34258\/","name":"C++ Coding Test Course, Finding the Continuous Sum - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:26:07+00:00","dateModified":"2024-11-01T10:57:57+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34258\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34258\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34258\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"C++ Coding Test Course, Finding the Continuous Sum"}]},{"@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\/34258","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=34258"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34258\/revisions"}],"predecessor-version":[{"id":34259,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34258\/revisions\/34259"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}