{"id":34570,"date":"2024-11-01T09:29:32","date_gmt":"2024-11-01T09:29:32","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=34570"},"modified":"2024-11-01T11:40:40","modified_gmt":"2024-11-01T11:40:40","slug":"javascript-coding-test-course-understanding-friend-relationships","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/34570\/","title":{"rendered":"JavaScript Coding Test Course, Understanding Friend Relationships"},"content":{"rendered":"<p><!-- HTML begins --><\/p>\n<article>\n<p>\n        Coding tests often include problems related to data structures and algorithms. In particular, problems related to identifying friendships are related to graph theory, and many companies use these problems to evaluate candidates&#8217; logical thinking and coding skills.\n    <\/p>\n<h2>Problem Description<\/h2>\n<p>\n        The algorithm problem for identifying friendships is as follows. <br \/>\n<strong>Problem: Friend Relationship Exploration<\/strong><br \/>\n        Given the number of people N and M pairs representing friend relationships, write a function to determine the number of people who are not friends with a specific individual.\n    <\/p>\n<h3>Input Format<\/h3>\n<ul>\n<li>First line: Number of people N (1 \u2264 N \u2264 100)<\/li>\n<li>Second line: Number of friend relationships M (1 \u2264 M \u2264 1000)<\/li>\n<li>Third line: M pairs of friend relationships provided in the form (a b), meaning a and b are friends.<\/li>\n<li>Fourth line: Specific individual X (1 \u2264 X \u2264 N) &#8211; the individual to check friendships for<\/li>\n<\/ul>\n<h3>Output Format<\/h3>\n<p>\n        Output the number of people who are not friends with the input individual X.\n    <\/p>\n<h2>Example Input<\/h2>\n<pre>\n    5\n    4\n    1 2\n    1 3\n    2 4\n    4 5\n    1\n    <\/pre>\n<h2>Example Output<\/h2>\n<pre>\n    3\n    <\/pre>\n<h2>Problem Solving Process<\/h2>\n<h3>Step 1: Understanding and Analyzing the Problem<\/h3>\n<p>\n        To understand the given problem, we need to be able to represent the provided friend relationships as a graph. To do this, we will use an adjacency list. This method allows us to connect each individual with their friends and easily understand the relationships.\n    <\/p>\n<h3>Step 2: Designing Data Structures<\/h3>\n<p>\n        Each individual can store friend relationships through array indices. For example, to save individuals who are friends with individual 1, we will add the relative individual&#8217;s number to the adjacency list. This structure allows us to easily find friends of a specific individual.\n    <\/p>\n<h3>Step 3: Designing the Algorithm<\/h3>\n<p>\n        To calculate the number of people who are not friends, we follow these procedures:\n    <\/p>\n<ol>\n<li>Check the friend relationships for all individuals (from 1 to N) to build a friend list.<\/li>\n<li>Refer to the friend list of the specific individual X to calculate the number of people who are not friends.<\/li>\n<li>Finally, declare a friendCount variable, and by subtracting the number of friends and X from the total number of individuals, we can obtain the number of people who are not friends.<\/li>\n<\/ol>\n<h3>Step 4: JavaScript Implementation<\/h3>\n<pre><code>\n    function countNonFriends(N, M, relations, X) {\n        \/\/ Create adjacency list\n        const friends = Array.from({ length: N + 1 }, () =&gt; []);\n\n        \/\/ Add relationships\n        relations.forEach(([a, b]) =&gt; {\n            friends[a].push(b);\n            friends[b].push(a);\n        });\n\n        \/\/ Count the number of non-friends\n        const friendSet = new Set(friends[X]);\n        let count = 0;\n\n        for (let i = 1; i &lt;= N; i++) {\n            if (i !== X &amp;&amp; !friendSet.has(i)) {\n                count++;\n            }\n        }\n\n        return count;\n    }\n    \n    const N = 5;\n    const M = 4;\n    const relations = [[1, 2], [1, 3], [2, 4], [4, 5]];\n    const X = 1;\n    console.log(countNonFriends(N, M, relations, X)); \/\/ 3\n    <\/code><\/pre>\n<h2>Step 5: Time Complexity Analysis<\/h2>\n<p>\n        The time complexity of this algorithm is O(N + M) in the process of checking each friend relationship. This is efficient since each relationship is only explored once.\n    <\/p>\n<h2>Conclusion<\/h2>\n<p>\n        This problem provides an opportunity to learn the process of solving graph-related problems and understanding friend relationships. Additionally, it offers practice in managing data using arrays and objects in JavaScript, and in implementing algorithms. It is important to practice multiple problems of this type while preparing for coding tests.\n    <\/p>\n<\/article>\n<p><!-- HTML ends --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coding tests often include problems related to data structures and algorithms. In particular, problems related to identifying friendships are related to graph theory, and many companies use these problems to evaluate candidates&#8217; logical thinking and coding skills. Problem Description The algorithm problem for identifying friendships is as follows. Problem: Friend Relationship Exploration Given the number &hellip; <a href=\"https:\/\/atmokpo.com\/w\/34570\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;JavaScript Coding Test Course, Understanding Friend Relationships&#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-34570","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, Understanding Friend Relationships - \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\/34570\/\" \/>\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, Understanding Friend Relationships - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Coding tests often include problems related to data structures and algorithms. In particular, problems related to identifying friendships are related to graph theory, and many companies use these problems to evaluate candidates&#8217; logical thinking and coding skills. Problem Description The algorithm problem for identifying friendships is as follows. Problem: Friend Relationship Exploration Given the number &hellip; \ub354 \ubcf4\uae30 &quot;JavaScript Coding Test Course, Understanding Friend Relationships&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/34570\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:29:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:40:40+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\/34570\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34570\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"JavaScript Coding Test Course, Understanding Friend Relationships\",\"datePublished\":\"2024-11-01T09:29:32+00:00\",\"dateModified\":\"2024-11-01T11:40:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34570\/\"},\"wordCount\":427,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Javascript Coding Test\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/34570\/\",\"url\":\"https:\/\/atmokpo.com\/w\/34570\/\",\"name\":\"JavaScript Coding Test Course, Understanding Friend Relationships - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:29:32+00:00\",\"dateModified\":\"2024-11-01T11:40:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/34570\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/34570\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/34570\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript Coding Test Course, Understanding Friend Relationships\"}]},{\"@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, Understanding Friend Relationships - \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\/34570\/","og_locale":"ko_KR","og_type":"article","og_title":"JavaScript Coding Test Course, Understanding Friend Relationships - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Coding tests often include problems related to data structures and algorithms. In particular, problems related to identifying friendships are related to graph theory, and many companies use these problems to evaluate candidates&#8217; logical thinking and coding skills. Problem Description The algorithm problem for identifying friendships is as follows. Problem: Friend Relationship Exploration Given the number &hellip; \ub354 \ubcf4\uae30 \"JavaScript Coding Test Course, Understanding Friend Relationships\"","og_url":"https:\/\/atmokpo.com\/w\/34570\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:29:32+00:00","article_modified_time":"2024-11-01T11:40:40+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\/34570\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/34570\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"JavaScript Coding Test Course, Understanding Friend Relationships","datePublished":"2024-11-01T09:29:32+00:00","dateModified":"2024-11-01T11:40:40+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/34570\/"},"wordCount":427,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Javascript Coding Test"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/34570\/","url":"https:\/\/atmokpo.com\/w\/34570\/","name":"JavaScript Coding Test Course, Understanding Friend Relationships - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:29:32+00:00","dateModified":"2024-11-01T11:40:40+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/34570\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/34570\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/34570\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"JavaScript Coding Test Course, Understanding Friend Relationships"}]},{"@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\/34570","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=34570"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34570\/revisions"}],"predecessor-version":[{"id":34571,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/34570\/revisions\/34571"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=34570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=34570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=34570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}