{"id":34578,"date":"2024-11-01T09:29:40","date_gmt":"2024-11-01T09:29:40","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34578"},"modified":"2024-11-01T11:40:38","modified_gmt":"2024-11-01T11:40:38","slug":"javascript-coding-test-course-finding-the-sum-of-the-remainder","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34578\/","title":{"rendered":"Javascript Coding Test Course, Finding the Sum of the Remainder"},"content":{"rendered":"<p><body><\/p>\n<h2>Problem Definition<\/h2>\n<p>\n    Given an integer array <code>arr<\/code> and an integer <code>m<\/code>, write a function to calculate the sum of the remainders when the sum of the array elements is divided by <code>m<\/code>. However, the sum of the remainders should not be greater than <code>m<\/code>.\n<\/p>\n<h3>Examples<\/h3>\n<pre><code>Input: arr = [1, 2, 3, 4, 5], m = 3\nOutput: 15 % 3 = 0\n<\/code><\/pre>\n<pre><code>Input: arr = [10, 20, 30], m = 5\nOutput: (10 + 20 + 30) % 5 = 0\n<\/code><\/pre>\n<pre><code>Input: arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], m = 7\nOutput: (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10) % 7 = 3\n<\/code><\/pre>\n<h2>Problem Solving Process<\/h2>\n<p>This problem can be solved in the following steps:<\/p>\n<h3>Step 1: Understanding the Problem<\/h3>\n<p>\n    Calculating the remainder of the sum of all elements in the array divided by <code>m<\/code> is a basic mathematical problem.<br \/>\n    Since it specifies that the sum of the remainders must not be greater than <code>m<\/code>,<br \/>\n    we need to keep this condition in mind while implementing the solution.\n<\/p>\n<h3>Step 2: Designing the Algorithm<\/h3>\n<p>\n    A simple algorithm can be used as follows:\n<\/p>\n<ol>\n<li>Sum all elements of the array <code>arr<\/code>.<\/li>\n<li>Divide the summed result by <code>m<\/code> to get the remainder.<\/li>\n<li>Return the result.<\/li>\n<\/ol>\n<h3>Step 3: Coding<\/h3>\n<p>\n    Now, let&#8217;s implement the algorithm in JavaScript.<br \/>\n    First, I will write the basic structure:\n<\/p>\n<pre><code>function remainderSum(arr, m) {\n    const sum = arr.reduce((accum, value) =&gt; accum + value, 0);\n    return sum % m;\n}\n<\/code><\/pre>\n<p>\n<code>arr.reduce()<\/code> is used to sum all elements in the array and return the remainder when divided by <code>m<\/code>.<br \/>\n    Next, I will prepare several cases to test this function.\n<\/p>\n<h3>Step 4: Writing Test Cases<\/h3>\n<pre><code>console.log(remainderSum([1, 2, 3, 4, 5], 3)); \/\/ 0\nconsole.log(remainderSum([10, 20, 30], 5)); \/\/ 0\nconsole.log(remainderSum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 7)); \/\/ 3\nconsole.log(remainderSum([15, 25, 35, 45, 55], 10)); \/\/ 5\nconsole.log(remainderSum([1, 1, 1, 1, 1], 2)); \/\/ 1\n<\/code><\/pre>\n<p>\n    Running the above test cases will help verify whether the results for each case are correct. If all results match expectations,<br \/>\n    the code is successfully implemented.\n<\/p>\n<h3>Step 5: Optimization and Additional Considerations<\/h3>\n<p>\n    The above implementation is simply written to sum all elements of the given array.<br \/>\n    However, if the size of the array can be very large, it may be necessary to consider performance factors.<br \/>\n    In such cases, optimization can be achieved by calculating the remainders during the summation process itself.\n<\/p>\n<pre><code>function optimizedRemainderSum(arr, m) {\n    let remainder = 0;\n    for (const value of arr) {\n        remainder = (remainder + value) % m;\n    }\n    return remainder;\n}\n<\/code><\/pre>\n<p>\n    Here, the <code>optimizedRemainderSum<\/code> function stores intermediate results by calculating the remainder at each step,<br \/>\n    thus calculating the final result in a much more efficient manner.\n<\/p>\n<h2>Conclusion<\/h2>\n<p>\n    In this lesson, we covered the &#8220;Calculating Remainder Sum&#8221; problem. It\u2019s a common problem of summing the elements of an array and finding their remainder,<br \/>\n    but we also considered ways to optimize the algorithm.<br \/>\n    I hope you found useful tips for preparing for coding tests using JavaScript.\n<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem Definition Given an integer array arr and an integer m, write a function to calculate the sum of the remainders when the sum of the array elements is divided by m. However, the sum of the remainders should not be greater than m. Examples Input: arr = [1, 2, 3, 4, 5], m = &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34578\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Javascript Coding Test Course, Finding the Sum of the Remainder&#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-34578","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 Sum of the Remainder - \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\/34578\/\" \/>\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 Sum of the Remainder - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Problem Definition Given an integer array arr and an integer m, write a function to calculate the sum of the remainders when the sum of the array elements is divided by m. However, the sum of the remainders should not be greater than m. Examples Input: arr = [1, 2, 3, 4, 5], m = &hellip; \ub354 \ubcf4\uae30 &quot;Javascript Coding Test Course, Finding the Sum of the Remainder&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34578\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:29:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:40:38+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\/34578\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34578\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Javascript Coding Test Course, Finding the Sum of the Remainder\",\"datePublished\":\"2024-11-01T09:29:40+00:00\",\"dateModified\":\"2024-11-01T11:40:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34578\/\"},\"wordCount\":342,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Javascript Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34578\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34578\/\",\"name\":\"Javascript Coding Test Course, Finding the Sum of the Remainder - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:29:40+00:00\",\"dateModified\":\"2024-11-01T11:40:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34578\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34578\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34578\/#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 Sum of the Remainder\"}]},{\"@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 Sum of the Remainder - \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\/34578\/","og_locale":"ko_KR","og_type":"article","og_title":"Javascript Coding Test Course, Finding the Sum of the Remainder - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Problem Definition Given an integer array arr and an integer m, write a function to calculate the sum of the remainders when the sum of the array elements is divided by m. However, the sum of the remainders should not be greater than m. Examples Input: arr = [1, 2, 3, 4, 5], m = &hellip; \ub354 \ubcf4\uae30 \"Javascript Coding Test Course, Finding the Sum of the Remainder\"","og_url":"https:\/\/atmokpo.com\/w\/34578\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:29:40+00:00","article_modified_time":"2024-11-01T11:40:38+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\/34578\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34578\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Javascript Coding Test Course, Finding the Sum of the Remainder","datePublished":"2024-11-01T09:29:40+00:00","dateModified":"2024-11-01T11:40:38+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34578\/"},"wordCount":342,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Javascript Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34578\/","url":"https:\/\/atmokpo.com\/w\/34578\/","name":"Javascript Coding Test Course, Finding the Sum of the Remainder - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:29:40+00:00","dateModified":"2024-11-01T11:40:38+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34578\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34578\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34578\/#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 Sum of the Remainder"}]},{"@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\/34578","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=34578"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34578\/revisions"}],"predecessor-version":[{"id":34579,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34578\/revisions\/34579"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}