{"id":34336,"date":"2024-11-01T09:26:58","date_gmt":"2024-11-01T09:26:58","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34336"},"modified":"2024-11-01T10:57:39","modified_gmt":"2024-11-01T10:57:39","slug":"c-coding-test-course-card-game-2","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34336\/","title":{"rendered":"C++ Coding Test Course, Card Game"},"content":{"rendered":"<p><body><\/p>\n<div class=\"content\">\n<p>Hello, in this course, we will learn how to implement a card game using C++. Specifically, we will explain in detail the process of solving algorithm problems and the various factors to consider during that process. The goal of this course is to enhance your ability to approach and solve algorithm problems.<\/p>\n<h2>Problem Definition<\/h2>\n<p>We are playing a card game with cards numbered from 1 to N. N is even, and two players take turns picking cards. The first player always picks first. Each player picks n\/2 cards and then calculates the total score of their cards. The winner is the player with the highest score. We will solve the algorithm problem of calculating the first player&#8217;s score in this game.<\/p>\n<h3>Problem Description<\/h3>\n<p>The card game is played with the following rules:<\/p>\n<ul>\n<li>The cards are numbered from 1 to N, with each card displaying only one number.<\/li>\n<li>There are two players, and each player takes turns picking cards.<\/li>\n<li>The first player always picks first, while the second player chooses from the remaining cards.<\/li>\n<li>The number on the card picked by the player is added to their score.<\/li>\n<li>N is always even.<\/li>\n<\/ul>\n<h2>Input and Output Format<\/h2>\n<h3>Input<\/h3>\n<p>The first line contains the number of cards N. (2 \u2264 N \u2264 100) The next line contains the cards numbered from 1 to N, listed randomly.<\/p>\n<h3>Output<\/h3>\n<p>Print the final score of the first player.<\/p>\n<h2>Example<\/h2>\n<pre>\nInput:\n4\n1 3 2 4\n\nOutput:\n6\n        <\/pre>\n<h3>Problem Solving Strategy<\/h3>\n<p>First, let&#8217;s establish a strategy to solve the problem based on an understanding of the card game.<\/p>\n<ol>\n<li>Sort the cards in descending order. This is because the first player needs to have the highest score, so they must choose the card with the highest value.<\/li>\n<li>Initialize each player&#8217;s score.<\/li>\n<li>The first player will take cards from indices 0 and 2, while the second player takes cards from indices 1 and 3.<\/li>\n<li>Calculate each player&#8217;s score and print the final score of the first player.<\/li>\n<\/ol>\n<h2>C++ Implementation<\/h2>\n<p>Now, let&#8217;s write the C++ code based on the above strategy.<\/p>\n<pre><code>\n#include <iostream>\n#include <vector>\n#include <algorithm>\nusing namespace std;\n\nint main() {\n    int N;\n    cin >> N; \/\/ Input number of cards\n    vector<int> cards(N);\n\n    \/\/ Input cards\n    for(int i = 0; i < N; i++) {\n        cin >> cards[i];\n    }\n\n    \/\/ Sort cards: descending order\n    sort(cards.begin(), cards.end(), greater<int>());\n\n    int player1_score = 0;\n    int player2_score = 0;\n\n    \/\/ Card selection\n    for (int i = 0; i < N; i++) {\n        if (i % 2 == 0) {\n            player1_score += cards[i]; \/\/ First player\n        } else {\n            player2_score += cards[i]; \/\/ Second player\n        }\n    }\n\n    cout << player1_score << endl; \/\/ Print first player's score\n    return 0;\n}\n        <\/int><\/int><\/algorithm><\/vector><\/iostream><\/code><\/pre>\n<h3>Code Explanation<\/h3>\n<p>The above code takes the following steps:<\/p>\n<ol>\n<li>It receives the number of cards N and the N cards from the user.<\/li>\n<li>It sorts the cards in descending order.<\/li>\n<li>It initializes each player&#8217;s score and accumulates scores based on the card indices.<\/li>\n<li>Finally, it prints the first player&#8217;s score.<\/li>\n<\/ol>\n<h2>Performance Analysis<\/h2>\n<p>The time complexity of this problem is O(N log N). The sorting of the cards takes the most time. The score calculation in the subsequent steps is O(N), so it does not significantly impact overall performance.<\/p>\n<p>The space complexity is O(N). An array is used to store the card numbers, and the size of the array varies based on the number of cards.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this course, we have implemented a card game using C++ and solved the algorithm problem of calculating the first player&#8217;s score. Through this problem, we were able to review basic input\/output and data processing methods, as well as sorting algorithms in C++. Developing approaches to solving algorithm problems and improving coding skills is very important. Keep solving various problems to enhance your skills!<\/p>\n<h3>Next Steps<\/h3>\n<p>In the future, we will deal with more complex card game problems. Each problem will provide an opportunity to practice finding optimal solutions through algorithms. Additionally, if the rules of the game change or additional elements arise, it is beneficial to think of new approaches. Improve through review and feedback!<\/p>\n<\/div>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello, in this course, we will learn how to implement a card game using C++. Specifically, we will explain in detail the process of solving algorithm problems and the various factors to consider during that process. The goal of this course is to enhance your ability to approach and solve algorithm problems. Problem Definition We &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34336\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;C++ Coding Test Course, Card Game&#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-34336","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, Card Game - \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\/34336\/\" \/>\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, Card Game - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello, in this course, we will learn how to implement a card game using C++. Specifically, we will explain in detail the process of solving algorithm problems and the various factors to consider during that process. The goal of this course is to enhance your ability to approach and solve algorithm problems. Problem Definition We &hellip; \ub354 \ubcf4\uae30 &quot;C++ Coding Test Course, Card Game&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34336\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:26:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T10:57: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=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/34336\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34336\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"C++ Coding Test Course, Card Game\",\"datePublished\":\"2024-11-01T09:26:58+00:00\",\"dateModified\":\"2024-11-01T10:57:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34336\/\"},\"wordCount\":572,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"C++ Coding Test Tutorials\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34336\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34336\/\",\"name\":\"C++ Coding Test Course, Card Game - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:26:58+00:00\",\"dateModified\":\"2024-11-01T10:57:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34336\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34336\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34336\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C++ Coding Test Course, Card Game\"}]},{\"@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, Card Game - \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\/34336\/","og_locale":"ko_KR","og_type":"article","og_title":"C++ Coding Test Course, Card Game - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello, in this course, we will learn how to implement a card game using C++. Specifically, we will explain in detail the process of solving algorithm problems and the various factors to consider during that process. The goal of this course is to enhance your ability to approach and solve algorithm problems. Problem Definition We &hellip; \ub354 \ubcf4\uae30 \"C++ Coding Test Course, Card Game\"","og_url":"https:\/\/atmokpo.com\/w\/34336\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:26:58+00:00","article_modified_time":"2024-11-01T10:57: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":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/34336\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34336\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"C++ Coding Test Course, Card Game","datePublished":"2024-11-01T09:26:58+00:00","dateModified":"2024-11-01T10:57:39+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34336\/"},"wordCount":572,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["C++ Coding Test Tutorials"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34336\/","url":"https:\/\/atmokpo.com\/w\/34336\/","name":"C++ Coding Test Course, Card Game - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:26:58+00:00","dateModified":"2024-11-01T10:57:39+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34336\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34336\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34336\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"C++ Coding Test Course, Card Game"}]},{"@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\/34336","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=34336"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34336\/revisions"}],"predecessor-version":[{"id":34337,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34336\/revisions\/34337"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}