{"id":34852,"date":"2024-11-01T09:32:44","date_gmt":"2024-11-01T09:32:44","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34852"},"modified":"2024-11-01T11:26:15","modified_gmt":"2024-11-01T11:26:15","slug":"swift-coding-test-course-finding-the-greatest-common-divisor","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34852\/","title":{"rendered":"Swift Coding Test Course, Finding the Greatest Common Divisor"},"content":{"rendered":"<p><body><\/p>\n<p>Hello! Today, I will conduct a coding test lecture for developers preparing for job applications using Swift. The topic of this session is <strong>Greatest Common Divisor (GCD)<\/strong>. The greatest common divisor is the largest number among the common divisors of two numbers and is used in various algorithm problems in addition to its mathematical concept.<\/p>\n<h2>Problem Description<\/h2>\n<p>Write a function in Swift that finds the greatest common divisor of the given two integers <code>a<\/code> and <code>b<\/code>. Additionally, if both numbers are 0, it should output a message saying &#8216;undefined&#8217;.<\/p>\n<pre><code>func gcd(_ a: Int, _ b: Int) -&gt; String<\/code><\/pre>\n<h2>Problem-Solving Approach<\/h2>\n<p>There are various methods to find the greatest common divisor, but the most commonly used method is the Euclidean algorithm. This algorithm is based on the following two simple facts:<\/p>\n<ul>\n<li>The greatest common divisor of two numbers <code>a<\/code> and <code>b<\/code> is <code>gcd(a, 0) = |a|<\/code>.<\/li>\n<li>The greatest common divisor of two numbers <code>a<\/code> and <code>b<\/code> is <code>gcd(a, b) = gcd(b, a % b)<\/code>.<\/li>\n<\/ul>\n<h3>Implementation of the Euclidean Algorithm<\/h3>\n<p>Based on the two principles above, I will explain step by step how to apply the Euclidean algorithm to find the greatest common divisor.<\/p>\n<h4>Step 1: Function Definition<\/h4>\n<p>First, define a function that takes two integers and returns the greatest common divisor. The function signature is as follows:<\/p>\n<pre><code>func gcd(_ a: Int, _ b: Int) -&gt; String<\/code><\/pre>\n<h4>Step 2: Input Validation<\/h4>\n<p>Inside the function, check if both input values are 0. In this case, return the message &#8216;undefined&#8217;:<\/p>\n<pre><code>if a == 0 &amp;&amp; b == 0 {\n        return \"undefined\"\n    }<\/code><\/pre>\n<h4>Step 3: Algorithm Implementation<\/h4>\n<p>Use the Euclidean algorithm to iteratively calculate the greatest common divisor. In this process, swap the two numbers and use the remainder to update the values:<\/p>\n<pre><code>var a = abs(a)\n    var b = abs(b)\n\n    while b != 0 {\n        let temp = b\n        b = a % b\n        a = temp\n    }\n    return String(a)<\/code><\/pre>\n<h4>Step 4: Completing the Full Code<\/h4>\n<p>Integrating all the steps above, we can complete the final greatest common divisor function:<\/p>\n<pre><code>func gcd(_ a: Int, _ b: Int) -&gt; String {\n        if a == 0 &amp;&amp; b == 0 {\n            return \"undefined\"\n        }\n        var a = abs(a)\n        var b = abs(b)\n\n        while b != 0 {\n            let temp = b\n            b = a % b\n            a = temp\n        }\n        return String(a)\n    }<\/code><\/pre>\n<h2>Test Cases<\/h2>\n<p>Now, let\u2019s validate the greatest common divisor function we have written with various test cases. Below are some example test cases:<\/p>\n<pre><code>print(gcd(48, 18)) \/\/ Output: 6\nprint(gcd(0, 0)) \/\/ Output: undefined\nprint(gcd(56, 98)) \/\/ Output: 14<\/code><\/pre>\n<h2>Conclusion<\/h2>\n<p>In this lecture, we covered an algorithm problem to find the greatest common divisor using Swift. We were able to write concise and efficient code following the principles of the Euclidean algorithm. Algorithm problems can be further developed through understanding mathematical principles and practicing implementing them in programming. We will continue to conduct coding test lectures on various topics, so please stay tuned!<\/p>\n<footer>\n<p>\u00a9 2023 Algorithm Problem Solving Course<\/p>\n<\/footer>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! Today, I will conduct a coding test lecture for developers preparing for job applications using Swift. The topic of this session is Greatest Common Divisor (GCD). The greatest common divisor is the largest number among the common divisors of two numbers and is used in various algorithm problems in addition to its mathematical concept. &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34852\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Swift Coding Test Course, Finding the Greatest Common Divisor&#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":[129],"tags":[],"class_list":["post-34852","post","type-post","status-publish","format-standard","hentry","category-swift-coding-test"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Swift Coding Test Course, Finding the Greatest Common Divisor - \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\/34852\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swift Coding Test Course, Finding the Greatest Common Divisor - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! Today, I will conduct a coding test lecture for developers preparing for job applications using Swift. The topic of this session is Greatest Common Divisor (GCD). The greatest common divisor is the largest number among the common divisors of two numbers and is used in various algorithm problems in addition to its mathematical concept. &hellip; \ub354 \ubcf4\uae30 &quot;Swift Coding Test Course, Finding the Greatest Common Divisor&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34852\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:32:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:26:15+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\/34852\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34852\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Swift Coding Test Course, Finding the Greatest Common Divisor\",\"datePublished\":\"2024-11-01T09:32:44+00:00\",\"dateModified\":\"2024-11-01T11:26:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34852\/\"},\"wordCount\":356,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Swift Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34852\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34852\/\",\"name\":\"Swift Coding Test Course, Finding the Greatest Common Divisor - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:32:44+00:00\",\"dateModified\":\"2024-11-01T11:26:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34852\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34852\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34852\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swift Coding Test Course, Finding the Greatest Common Divisor\"}]},{\"@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":"Swift Coding Test Course, Finding the Greatest Common Divisor - \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\/34852\/","og_locale":"ko_KR","og_type":"article","og_title":"Swift Coding Test Course, Finding the Greatest Common Divisor - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! Today, I will conduct a coding test lecture for developers preparing for job applications using Swift. The topic of this session is Greatest Common Divisor (GCD). The greatest common divisor is the largest number among the common divisors of two numbers and is used in various algorithm problems in addition to its mathematical concept. &hellip; \ub354 \ubcf4\uae30 \"Swift Coding Test Course, Finding the Greatest Common Divisor\"","og_url":"https:\/\/atmokpo.com\/w\/34852\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:32:44+00:00","article_modified_time":"2024-11-01T11:26:15+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\/34852\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34852\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Swift Coding Test Course, Finding the Greatest Common Divisor","datePublished":"2024-11-01T09:32:44+00:00","dateModified":"2024-11-01T11:26:15+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34852\/"},"wordCount":356,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Swift Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34852\/","url":"https:\/\/atmokpo.com\/w\/34852\/","name":"Swift Coding Test Course, Finding the Greatest Common Divisor - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:32:44+00:00","dateModified":"2024-11-01T11:26:15+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34852\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34852\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34852\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Swift Coding Test Course, Finding the Greatest Common Divisor"}]},{"@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\/34852","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=34852"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34852\/revisions"}],"predecessor-version":[{"id":34853,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34852\/revisions\/34853"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}