<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발하는 자비스</title>
    <link>https://jarvisbae.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 2 Jul 2026 02:04:42 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>jarvis_</managingEditor>
    <item>
      <title>[codility] Prefix Sums - CountDiv</title>
      <link>https://jarvisbae.tistory.com/23</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ A : Int, _ B : Int, _ K : Int) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given three integers A, B and K, returns the number of integers within the range [A..B] that are divisible by K, i.e.:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;{ i : A &amp;le; i &amp;le; B, i&amp;nbsp;&lt;b&gt;mod&lt;/b&gt;&amp;nbsp;K = 0 }&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, for A = 6, B = 11 and K = 2, your function should return 3, because there are three numbers divisible by 2 within the range [6..11], namely 6, 8 and 10.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;A and B are integers within the range [&lt;span&gt;0&lt;/span&gt;..&lt;span&gt;2,000,000,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;K is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;2,000,000,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;A &amp;le; B.Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A...B 범위내에 K로 나눌수 있는 정수의 합을 구하기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫번째 : for 문을 돌면서 하나씩 구하다보니 시간복잡도 이슈 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째 : A가 0인경우 -&amp;gt; A:0 B:5 K:2 -&amp;gt; 5/2 = 2, -&amp;gt; 0은 모든 자연수의 배수이기 때문에&amp;nbsp; +1 해서 결과 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A가 0이 아닌경우 -&amp;gt; A:1 B:5 K:2 -&amp;gt; 5/2 - (1-1) / 2 = 결과 2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://app.codility.com/demo/results/trainingSGUDUU-4E6/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://app.codility.com/demo/results/trainingSGUDUU-4E6/&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632417447500&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : Int, _ B : Int, _ K : Int) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    var sum = 0
    for index in A...B {
        if index % K == 0 {
            sum += 1
        }
    }
    return sum
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632417942124&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : Int, _ B : Int, _ K : Int) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    if A == 0 {
        return B / K + 1
    } else {
        return B / K - (A - 1) / K
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/23</guid>
      <comments>https://jarvisbae.tistory.com/23#entry23comment</comments>
      <pubDate>Fri, 24 Sep 2021 02:29:59 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Prefix Sums - PassingCars</title>
      <link>https://jarvisbae.tistory.com/22</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A non-empty array A consisting of N integers is given. The consecutive elements of array A represent consecutive cars on a road.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Array A contains only 0s and/or 1s:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0 represents a car traveling east,&lt;/li&gt;
&lt;li&gt;1 represents a car traveling west.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The goal is to count passing cars. We say that a pair of cars (P, Q), where 0 &amp;le; P &amp;lt; Q &amp;lt; N, is passing when P is traveling to the east and Q is traveling to the west.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, consider array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 0 A[1] = 1 A[2] = 0 A[3] = 1 A[4] = 1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;We have five pairs of passing cars: (0, 1), (0, 3), (0, 4), (2, 3), (2, 4).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ A : inout [Int]) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given a non-empty array A of N integers, returns the number of pairs of passing cars.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The function should return &amp;minus;1 if the number of pairs of passing cars exceeds 1,000,000,000.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 0 A[1] = 1 A[2] = 0 A[3] = 1 A[4] = 1&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 5, as explained above.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer that can have one of the following values: 0, 1.Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A 배열이 0 1 1 0 1 -&amp;gt; 자동차의 쌍이 (0,1), (0,2), (0,4), (3,4) 4를 리턴&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫번째 : 하나씩 짝을 지어주려고 접근 -&amp;gt; 시간복잡도 이슈 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째 : 카운팅으로 변경했으나 filter에서 시간복잡도 이슈 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세번째 : [0, 1, 0, 1, 1] 인경우 0이 하나인경우에 1을 만나면 1증가, 0이 두개인경우에 1을 만나면 2증가로 해결&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 문제풀기 전에 고민을 더 해보고 접근해야겠다는 생각이 듦&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://app.codility.com/demo/results/trainingFAJWSU-49D/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://app.codility.com/demo/results/trainingFAJWSU-49D/&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632415347242&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    
    var arr: [(Int,Int)] = []
    for (index, _) in A.enumerated() {
        if A[index] == 0 {
            for i in index..&amp;lt;A.count {
                if A[i] == 1 {
                    arr.append((0, 1))
                }
            }
        }
    }
    
    if arr.count &amp;gt; 1000000000 {
        return -1
    }
    
    return arr.count
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시간복잡도 이슈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://app.codility.com/demo/results/trainingTU9SBU-V6J/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://app.codility.com/demo/results/trainingTU9SBU-V6J/&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632416323404&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    var resultCount = 0
    for (index, _) in A.enumerated() {
        if A[index] == 0 {
            let size = A[index...A.count-1].filter { $0 == 1 }
            resultCount += size.count
        }
    }
    return resultCount
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://app.codility.com/demo/results/trainingPNMNE5-H38/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://app.codility.com/demo/results/trainingPNMNE5-H38/&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632416505327&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    var result = 0
    var sum = 0
    
    for (index, _) in A.enumerated() {
        if A[index] == 0 {
            sum += 1
        } else {
            result += sum
        }
    }
    
    if result &amp;gt; 1000000000 {
        return -1
    }
    
    return result
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/22</guid>
      <comments>https://jarvisbae.tistory.com/22#entry22comment</comments>
      <pubDate>Fri, 24 Sep 2021 02:04:49 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Counting Elements - MissingInteger</title>
      <link>https://jarvisbae.tistory.com/21</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This is a demo task.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ A : inout [Int]) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given an array A of N integers, returns the smallest positive integer (greater than 0) that does not occur in A.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given A = [1, 3, 6, 4, 1, 2], the function should return 5.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Given A = [1, 2, 3], the function should return 4.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Given A = [&amp;minus;1, &amp;minus;3], the function should return 1.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&lt;span&gt;&amp;minus;1,000,000&lt;/span&gt;..&lt;span&gt;1,000,000&lt;/span&gt;].Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 작은 양의 정수를 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A 배열이 주어지면 순열이 아닌 형태 [1,2,3,4,6] 5를 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[1,2,3] 4를 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[-1, -3] 1을 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;set을 이용해서 순차적으로 배열을 순회하면서 값이 없으면 가장 작은 정수로 판단&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632411509514&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    let sets = Set&amp;lt;Int&amp;gt;(A)
    for index in 1...Int.max {
        if !sets.contains(index) {
            return index
        }
    }
    return -1
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/21</guid>
      <comments>https://jarvisbae.tistory.com/21#entry21comment</comments>
      <pubDate>Fri, 24 Sep 2021 00:39:40 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Counting Elements - MaxCounters</title>
      <link>https://jarvisbae.tistory.com/19</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are given N counters, initially set to 0, and you have two possible operations on them:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;i&gt;increase(X)&lt;/i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;minus; counter X is increased by 1,&lt;/li&gt;
&lt;li&gt;&lt;i&gt;max counter&lt;/i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;minus; all counters are set to the maximum value of any counter.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A non-empty array A of M integers is given. This array represents consecutive operations:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;if A[K] = X, such that 1 &amp;le; X &amp;le; N, then operation K is increase(X),&lt;/li&gt;
&lt;li&gt;if A[K] = N + 1 then operation K is max counter.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given integer N = 5 and array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 A[4] = 1 A[5] = 4 A[6] = 4&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the values of the counters after each consecutive operation will be:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(0, 0, 1, 0, 0) (0, 0, 1, 1, 0) (0, 0, 1, 2, 0) (2, 2, 2, 2, 2) (3, 2, 2, 2, 2) (3, 2, 2, 3, 2) (3, 2, 2, 4, 2)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The goal is to calculate the value of every counter after all operations.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ N : Int, _ A : inout [Int]) -&amp;gt; [Int]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given an integer N and a non-empty array A consisting of M integers, returns a sequence of integers representing the values of the counters.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Result array should be returned as an array of integers.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 3 A[1] = 4 A[2] = 4 A[3] = 6 A[4] = 1 A[5] = 4 A[6] = 4&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return [3, 2, 2, 4, 2], as explained above.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N and M are integers within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;N + 1&lt;/span&gt;].&lt;br /&gt;&lt;br /&gt;Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[K] = X, 1 &amp;lt;= X &amp;lt;= N 카운트 증가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[K] = N + 1 이면 최대 카운트값 전체적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;X값이 1보다 크거나 같고 N보다 작거나 같으면 해당 인덱스 카운팅 값 증가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;큰값이나 예측하지 못한 데이터가 들어오는 경우가 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;arr 에 현재 카운팅중 가장 큰값을 초기화하는 [Int](repeating: arr.max()!, count: N) 구문인듯 하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 방법으로 계속 풀어봤으나 100%는 힘들어서 검색을 해봄&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://app.codility.com/demo/results/trainingC62947-485/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://app.codility.com/demo/results/trainingC62947-485/&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632401856833&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ N : Int, _ A : inout [Int]) -&amp;gt; [Int] {
    // write your code in Swift 4.2.1 (Linux)
    var arr = [Int](repeating: 0, count: N)
    for (index, _) in A.enumerated() {
        if 1 &amp;lt;= A[index] &amp;amp;&amp;amp; A[index] &amp;lt;= N  {
            arr[A[index]-1] += 1
        } else if A[index] == N+1 {
            arr = [Int](repeating: arr.max()!, count: N)
        }
    }
    
    return arr
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해결 힌트는 return 시 maxCounter와 arr에 카운트값과 비교하여 작은 값에 초기화&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://app.codility.com/demo/results/trainingWYS26A-946/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://app.codility.com/demo/results/trainingWYS26A-946/&lt;/a&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632405985932&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ N : Int, _ A : inout [Int]) -&amp;gt; [Int] {
    // write your code in Swift 4.2.1 (Linux)
    var arr = [Int](repeating: 0, count: N)
        
    var max = 0
    var maxCounter = 0
    for (index, _) in A.enumerated() {
        if A[index] &amp;gt; N {
            maxCounter = max
        } else {
            if arr[A[index]-1] &amp;lt; maxCounter {
                arr[A[index]-1] = maxCounter
            }
                
            arr[A[index]-1] += 1
                
            if max &amp;lt; arr[A[index]-1] {
                max = arr[A[index]-1]
            }
        }
    }
    return arr.map({ $0 &amp;lt; maxCounter ? maxCounter : $0 })
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/19</guid>
      <comments>https://jarvisbae.tistory.com/19#entry19comment</comments>
      <pubDate>Thu, 23 Sep 2021 23:41:12 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Counting Elements - PermCheck</title>
      <link>https://jarvisbae.tistory.com/18</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A non-empty array A consisting of N integers is given.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;permutation&lt;/i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;is a sequence containing each element from 1 to N once, and only once.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;is a permutation, but array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 4 A[1] = 1 A[2] = 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;is not a permutation, because value 2 is missing.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The goal is to check whether array A is a permutation.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ A : inout [Int]) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given an array A, returns 1 if array A is a permutation and 0 if it is not.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 4 A[1] = 1 A[2] = 3 A[3] = 2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 1.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Given array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 4 A[1] = 1 A[2] = 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 0.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;1,000,000,000&lt;/span&gt;].&lt;br /&gt;&lt;br /&gt;Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A배열이 순열인지 아닌지 체크&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;순열이면 1 아니면 0 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A 배열이 [3,1,2,4] 인경우에는 1 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; [1,2,4] 인 경우에는 순열이 아니기 때문에 0 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632397989318&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)

    A.sort()
    for (index, _) in A.enumerated() {
        if index+1 != A[index] {
            return 0
        }
    }
    return 1
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/18</guid>
      <comments>https://jarvisbae.tistory.com/18#entry18comment</comments>
      <pubDate>Thu, 23 Sep 2021 20:53:59 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Counting Elements - FrogRiverOne</title>
      <link>https://jarvisbae.tistory.com/17</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A small frog wants to get to the other side of a river. The frog is initially located on one bank of the river (position 0) and wants to get to the opposite bank (position X+1). Leaves fall from a tree onto the surface of the river.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You are given an array A consisting of N integers representing the falling leaves. A[K] represents the position where one leaf falls at time K, measured in seconds.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The goal is to find the earliest time when the frog can jump to the other side of the river. The frog can cross only when leaves appear at every position across the river from 1 to X (that is, we want to find the earliest moment when all the positions from 1 to X are covered by leaves). You may assume that the speed of the current in the river is negligibly small, i.e. the leaves do not change their positions once they fall in the river.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, you are given integer X = 5 and array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 1 A[1] = 3 A[2] = 1 A[3] = 4 A[4] = 2 A[5] = 3 A[6] = 5 A[7] = 4&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;In second 6, a leaf falls into position 5. This is the earliest time when leaves appear in every position across the river.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ X : Int, _ A : inout [Int]) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given a non-empty array A consisting of N integers and integer X, returns the earliest time when the frog can jump to the other side of the river.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;If the frog is never able to jump to the other side of the river, the function should return &amp;minus;1.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given X = 5 and array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 1 A[1] = 3 A[2] = 1 A[3] = 4 A[4] = 2 A[5] = 3 A[6] = 5 A[7] = 4&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 6, as explained above.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N and X are integers within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;X&lt;/span&gt;].Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나뭇잎의 배열인 A [1,4,3,2,3,1,5,4], X = 5 가 주어지면 1부터 X까지 연속된 숫자가 도달되는 인덱스를 구하여 리턴, 없으면 -1 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;set을 이용하여 중복제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;set에 A 배열의 값을 인서트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;set 사이즈와 X값과 같으면 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632396633763&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ X : Int, _ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)

    var sets = Set&amp;lt;Int&amp;gt;()
    for (index, _) in A.enumerated() {
        sets.insert(A[index])
        if sets.count == X {
            return index
        }
    }
    return -1
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/17</guid>
      <comments>https://jarvisbae.tistory.com/17#entry17comment</comments>
      <pubDate>Thu, 23 Sep 2021 20:37:45 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Time Complexity - TapeEquilibrium</title>
      <link>https://jarvisbae.tistory.com/16</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A non-empty array A consisting of N integers is given. Array A represents numbers on a tape.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Any integer P, such that 0 &amp;lt; P &amp;lt; N, splits this tape into two non-empty parts: A[0], A[1], ..., A[P &amp;minus; 1] and A[P], A[P + 1], ..., A[N &amp;minus; 1].&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;The&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;difference&lt;/i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;between the two parts is the value of: |(A[0] + A[1] + ... + A[P &amp;minus; 1]) &amp;minus; (A[P] + A[P + 1] + ... + A[N &amp;minus; 1])|&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;In other words, it is the absolute difference between the sum of the first part and the sum of the second part.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, consider array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 3 A[1] = 1 A[2] = 2 A[3] = 4 A[4] = 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;We can split this tape in four places:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;P = 1, difference = |3 &amp;minus; 10| = 7&lt;/li&gt;
&lt;li&gt;P = 2, difference = |4 &amp;minus; 9| = 5&lt;/li&gt;
&lt;li&gt;P = 3, difference = |6 &amp;minus; 7| = 1&lt;/li&gt;
&lt;li&gt;P = 4, difference = |10 &amp;minus; 3| = 7&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ A : inout [Int]) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given a non-empty array A of N integers, returns the minimal difference that can be achieved.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 3 A[1] = 1 A[2] = 2 A[3] = 4 A[4] = 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 1, as explained above.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an integer within the range [&lt;span&gt;2&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&lt;span&gt;&amp;minus;1,000&lt;/span&gt;..&lt;span&gt;1,000&lt;/span&gt;].Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632325680414&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    //[3, 1, 2, 4, 3]
    
    let total = A.reduce(0, {$0+$1})
    var P = 0
    var arr: [Int] = []
    for (index, _) in A.enumerated() {
        
        if index == A.count-1 { break }
        
        P += A[index]
        
        let diff = abs(P - (total - P))
        arr.append(diff)
    }
    arr.sort()
    return arr[0]
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/16</guid>
      <comments>https://jarvisbae.tistory.com/16#entry16comment</comments>
      <pubDate>Thu, 23 Sep 2021 00:48:52 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Time Complexity- PermMissingElem</title>
      <link>https://jarvisbae.tistory.com/15</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;An array A consisting of N different integers is given. The array contains integers in the range [1..(N + 1)], which means that exactly one element is missing.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Your goal is to find that missing element.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;function solution(A: array of longint; N: longint): longint;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given an array A, returns the value of the missing element.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 2 A[1] = 3 A[2] = 1 A[3] = 5&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 4, as it is the missing element.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an integer within the range [&lt;span&gt;0&lt;/span&gt;..&lt;span&gt;100,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;the elements of A are all distinct;&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [1..(N + 1)].Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;N개의 서로 다른 정수로 구성된 배열 A 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[1..(N+1)] 누락된 값을 구하기&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 정렬&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 배열 순회하면서 $0, $1 비교해서 값이 다르면 순차값이 아니기때문에 해당 인덱스+1로 틀린값을 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 인덱스+1과 0번째 배열값을 비교해서 다르면 인덱스 + 1로 누락값을 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632319710187&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)

	A.sort()

    for (index, _) in A.enumerated() {
        if index+1 != A[index] {
            return index+1
        }
    }

    return A.count+1
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/15</guid>
      <comments>https://jarvisbae.tistory.com/15#entry15comment</comments>
      <pubDate>Wed, 22 Sep 2021 23:47:35 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Time Complexity - FrogJmp</title>
      <link>https://jarvisbae.tistory.com/14</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to a position greater than or equal to Y. The small frog always jumps a fixed distance, D.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Count the minimal number of jumps that the small frog must perform to reach its target.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ X : Int, _ Y : Int, _ D : Int) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given three integers X, Y and D, returns the minimal number of jumps from position X to a position equal to or greater than Y.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;X = 10 Y = 85 D = 30&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 3, because the frog will be positioned as follows:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;after the first jump, at position 10 + 30 = 40&lt;/li&gt;
&lt;li&gt;after the second jump, at position 10 + 30 + 30 = 70&lt;/li&gt;
&lt;li&gt;after the third jump, at position 10 + 30 + 30 + 30 = 100&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;X, Y and D are integers within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;1,000,000,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;X &amp;le; Y.Copyright 2009&amp;ndash;2021 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개구리 초기 위치 X, 도착 지점 Y, 점프 값 D, X&amp;lt;=Y&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;구현 해설&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초기 위치값X가 Y보다 크거나 같으면 이동하지 않아도 도착지점 예외처리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;도착지점 - 초기지점 = 이동해야 할 거리&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이동해야 할 거리 / 점프 한번 당 이동거리 = 이동횟수&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이동해야 할 거리 % 점프 한번 당 이동거리의 나머지 몫이 0보다 크면 한번 카운트 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632318320825&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ X : Int, _ Y : Int, _ D : Int) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)

    if X &amp;gt;= Y {
        return 0
    }

    var count = (Y-X) / D
    if (Y-X) % D &amp;gt; 0 {
        count += 1
    }

    return count
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/14</guid>
      <comments>https://jarvisbae.tistory.com/14#entry14comment</comments>
      <pubDate>Wed, 22 Sep 2021 22:49:49 +0900</pubDate>
    </item>
    <item>
      <title>[codility] Arrays - OddOccurrencesInArray 문제풀이</title>
      <link>https://jarvisbae.tistory.com/13</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 원본&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;O(N) or O(N*log(N))&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A non-empty array A consisting of N integers is given. The array contains an odd number of elements, and each element of the array can be paired with another element that has the same value, except for one element that is left unpaired.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, in array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;the elements at indexes 0 and 2 have value 9,&lt;/li&gt;
&lt;li&gt;the elements at indexes 1 and 3 have value 3,&lt;/li&gt;
&lt;li&gt;the elements at indexes 4 and 6 have value 9,&lt;/li&gt;
&lt;li&gt;the element at index 5 has value 7 and is unpaired.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write a function:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;public func solution(_ A : inout [Int]) -&amp;gt; Int&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;that, given an array A consisting of N integers fulfilling the above conditions, returns the value of the unpaired element.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;For example, given array A such that:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;the function should return 7, as explained in the example above.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Write an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;b&gt;efficient&lt;/b&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;algorithm for the following assumptions:&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N is an odd integer within the range [1..1,000,000];&lt;/li&gt;
&lt;li&gt;each element of array A is an integer within the range [&lt;span&gt;1&lt;/span&gt;..&lt;span&gt;1,000,000,000&lt;/span&gt;];&lt;/li&gt;
&lt;li&gt;all but one of the values in A occur an even number of times.Copyright 2009&amp;ndash;2021 by Codility Limited. All&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;Rights Reserved. Unauthorized copying, publication or disclosure prohibited.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;문제 해설&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;N개의 정수가 담긴 비어있지 않은 배열 A가 제공&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;값이 동일하면 짝을 이룰수 있고, 동일한 값이 없는 값을 리턴&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 배열 [1,2,3,4,&lt;span style=&quot;color: #ee2323;&quot;&gt;5&lt;/span&gt;,2,3,4,1] 이 주어질때 짝이 없는 5를 검출&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;구현 해설&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;- 주어진 배열 정렬&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;case1. [2,5,3,&lt;span style=&quot;color: #ee2323;&quot;&gt;4&lt;/span&gt;,5,2,1,3,5] -&amp;gt; [1,1,2,2,3,3,&lt;span style=&quot;color: #ee2323;&quot;&gt;4&lt;/span&gt;,5,5]&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;case1. [2,5,3,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;,4,2,1,3,1] -&amp;gt; [1,1,2,2,3,3,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt;,4,&lt;span style=&quot;color: #ee2323;&quot;&gt;5&lt;/span&gt;]&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;case2. [2,&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;,4,3,5,5,4,2,3] -&amp;gt; [&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;,2,2,3,3,4,4,5,5]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;case3. &lt;/span&gt;[&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;, 3, 2, 2, 5, 5, 3] -&amp;gt; [&lt;span style=&quot;color: #ee2323;&quot;&gt;1&lt;/span&gt;,2,2,3,3,5,5]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;case4.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;[1, 1, 2, 2, 5, 5, &lt;span style=&quot;color: #ee2323;&quot;&gt;3&lt;/span&gt;] -&amp;gt; [&lt;span style=&quot;color: #000000;&quot;&gt;1,1&lt;/span&gt;,2,2,&lt;span style=&quot;color: #ee2323;&quot;&gt;3&lt;/span&gt;,5,5]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;case5.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;[1, 1, 2, 2, 3, &lt;span style=&quot;color: #ee2323;&quot;&gt;5&lt;/span&gt;, 3] -&amp;gt; [&lt;span style=&quot;color: #000000;&quot;&gt;1,1&lt;/span&gt;,2,2,&lt;span style=&quot;color: #000000;&quot;&gt;3&lt;/span&gt;,3,&lt;span style=&quot;color: #ee2323;&quot;&gt;5&lt;/span&gt;]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666;&quot;&gt;2칸씩 이동하면서 값 비교하여 짝이없는 값 찾기&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1632314485393&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    var resultValue = 0
    let list = A.sorted()
    for index in stride(from: 0, to: list.count - 1, by: 2) {
        if list[index] != list[index + 1] {
            resultValue = list[index]
            break
        }   
        if index == list.count - 3 {
            resultValue = list[list.count - 1]
        }
    }
    return resultValue
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;결과&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;88% 예외처리 부족&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;602&quot; data-filename=&quot;스크린샷 2021-09-22 오후 9.51.23.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lRMRo/btrftotD5ZU/qSyNOSnvxv5SgYqh181Dk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lRMRo/btrftotD5ZU/qSyNOSnvxv5SgYqh181Dk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lRMRo/btrftotD5ZU/qSyNOSnvxv5SgYqh181Dk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlRMRo%2FbtrftotD5ZU%2FqSyNOSnvxv5SgYqh181Dk1%2Fimg.png&quot; data-origin-width=&quot;1144&quot; data-origin-height=&quot;602&quot; data-filename=&quot;스크린샷 2021-09-22 오후 9.51.23.png&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예외 처리 추가&lt;/h2&gt;
&lt;pre id=&quot;code_1632315278326&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation
import Glibc

// you can write to stdout for debugging purposes, e.g.
// print(&quot;this is a debug message&quot;)

public func solution(_ A : inout [Int]) -&amp;gt; Int {
    // write your code in Swift 4.2.1 (Linux)
    if A.count == 1 {
        return A[0]
    }
    var resultValue = 0
    let list = A.sorted()
    for index in stride(from: 0, to: list.count - 1, by: 2) {
        if list[index] != list[index + 1] {
            resultValue = list[index]
            break
        }   
        if index == list.count - 3 {
            resultValue = list[list.count - 1]
        }
    }
    return resultValue
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Algorithm</category>
      <author>jarvis_</author>
      <guid isPermaLink="true">https://jarvisbae.tistory.com/13</guid>
      <comments>https://jarvisbae.tistory.com/13#entry13comment</comments>
      <pubDate>Wed, 22 Sep 2021 21:44:16 +0900</pubDate>
    </item>
  </channel>
</rss>