<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>IOS &amp; Others on Sobamemil</title>
    <link>https://blog.sobamemil.com/en/categories/ios--others/</link>
    <description>Recent content in IOS &amp; Others on Sobamemil</description>
    <image>
      <title>Sobamemil</title>
      <url>https://blog.sobamemil.com/images/og-image.png</url>
      <link>https://blog.sobamemil.com/images/og-image.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 29 Jun 2023 20:59:21 +0900</lastBuildDate>
    <atom:link href="https://blog.sobamemil.com/en/categories/ios--others/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[Swift] Checking Even or Odd - Programmers Lv.0 (181944)</title>
      <link>https://blog.sobamemil.com/en/posts/194-swift-%ED%99%80%EC%A7%9D-%EA%B5%AC%EB%B6%84%ED%95%98%EA%B8%B0-lv0-181944-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Thu, 29 Jun 2023 20:59:21 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/194-swift-%ED%99%80%EC%A7%9D-%EA%B5%AC%EB%B6%84%ED%95%98%EA%B8%B0-lv0-181944-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Given a natural number n, write code to output &amp;quot;n is even&amp;quot; if n is even, and &amp;quot;n is odd&amp;quot; if n is odd.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181944&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181944&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ n ≤ 1,000&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let a &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Int(readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let resultString &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; a &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\(a) is even&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\(a) is odd&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(resultString)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ternary operator(삼항 연산자) 사용해서 문제를 해결 하였습니다.  입련된 수를 2로 나눈 나머지가 0인지 확인하여 짝수인지 확인할 수 있습니다.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let a &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Int(readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(a, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;is&amp;#34;&lt;/span&gt;, a.isMultiple(of: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;) &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;even&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;odd&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Alternatively, you can also determine even/odd status using Swift&#39;s &lt;code&gt;isMultiple(of:)&lt;/code&gt; function as shown above.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Rotating String 90 Degrees - Programmers Lv.0 (181945)</title>
      <link>https://blog.sobamemil.com/en/posts/193-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%8F%8C%EB%A6%AC%EA%B8%B0-lv0-181945-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Thu, 22 Jun 2023 22:09:43 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/193-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%8F%8C%EB%A6%AC%EA%B8%B0-lv0-181945-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;문자열 str이 주어집니다.&lt;/p&gt;
&lt;p&gt;문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성해 보세요.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181945&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181945&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ str의 길이 ≤ 10&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;readLine()&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;.forEach { print(&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;가로로 제시된 문자열을 세로로 하나씩 출력하면 되는 문제입니다.&lt;/p&gt;
&lt;p&gt;문자열을 하나하나 순회하며 출력해주면 됩니다.&lt;/p&gt;
&lt;p&gt;저는 forEach 문법을 사용해서 문자열을 하나씩 출력해 주었습니다.&lt;/p&gt;
&lt;p&gt;아직 Swift 문법이 어색하다면 아래와 같이 for in 문을 사용하여 해결할 수도 있습니다.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let line &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; character in line {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	print(character)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>[Swift] Concatenating and Printing Strings - Programmers Lv.0 (181946)</title>
      <link>https://blog.sobamemil.com/en/posts/192-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B6%99%EC%97%AC%EC%84%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181946-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Tue, 20 Jun 2023 20:51:27 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/192-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B6%99%EC%97%AC%EC%84%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181946-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.&lt;br&gt;
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181946&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181946&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ str1, str2의 길이 ≤ 10&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;.components(separatedBy: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;]).joined().replacingOccurrences(of: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;, with: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;두 문자열 사이의 공백을 제거하고 출력하면 되는 문제입니다. 방법은 아주 많겠지만 한 줄로 해결해 보았습니다.&lt;/p&gt;
&lt;p&gt;swift에서는 replacingOccurrences(of:with:)를 사용해서 of 위치의 문자열을 with 문자열로 쉽게 변경할 수 있습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Printing Addition Equation - Programmers Lv.0 (181947)</title>
      <link>https://blog.sobamemil.com/en/posts/191-swift-%EB%8D%A7%EC%85%88%EC%8B%9D-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181947-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Tue, 20 Jun 2023 20:38:55 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/191-swift-%EB%8D%A7%EC%85%88%EC%8B%9D-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181947-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Given two integers a and b, write code to print the equation format below.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; b &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181947&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181947&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ a, b ≤ 100&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let n &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;.components(separatedBy: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;]).map { Int(&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let (a, b) &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (n[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], n[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; a &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; b
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\(a) + \(b) = \(result)&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 또는 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// print(a, &amp;#34;+&amp;#34;, b, &amp;#34;=&amp;#34;, a + b)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;문자열을 포맷에 맞춰 출력하는 문제입니다. 문자열에 직접 ()을 사용해서 변수를 출력할 수도 있고, 아래 주석처럼 콤마(,)로 나눠서 출력할 수도 있습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Printing Special Characters - Programmers Lv.0 (181948)</title>
      <link>https://blog.sobamemil.com/en/posts/190-swift-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181948-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Mon, 19 Jun 2023 21:50:48 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/190-swift-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181948-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;다음과 같이 출력하도록 코드를 작성해 주세요.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;@#$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%^&amp;amp;*&lt;/span&gt;(&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;\&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;&amp;gt;?:;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181948&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181948&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;!@#$%^&amp;amp;*(&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;gt;?:&lt;/span&gt;;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;#)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 또는
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// print(&amp;#34;!@#$%^&amp;amp;*(\\&amp;#39;\&amp;#34;&amp;lt;&amp;gt;?:;&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;swift에서는 특수문자를 출력하는 데 여러 방법이 있습니다.&lt;/p&gt;
&lt;p&gt;그 중 문자열 앞 뒤로 # 을 사용하면 특수문자를 그대로 출력합니다.&lt;/p&gt;
&lt;p&gt;또는 아래 주석처럼 \ 이나 &amp;quot; 처럼 이미 키워드로 사용하고 있는 특수문자들은 앞에 \ 를 하나 붙여주면 특수문자가 문자열 그대로 출력됩니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Swapping Upper and Lowercase - Programmers Lv.0 (181949)</title>
      <link>https://blog.sobamemil.com/en/posts/189-swift-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EB%B0%94%EA%BF%94%EC%84%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181949-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Mon, 19 Jun 2023 21:45:07 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/189-swift-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EB%B0%94%EA%BF%94%EC%84%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181949-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;영어 알파벳으로 이루어진 문자열 str이 주어집니다.&lt;/p&gt;
&lt;p&gt;각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181949&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181949&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ str의 길이 ≤ 20
&lt;ul&gt;
&lt;li&gt;str은 알파벳으로 이루어진 문자열입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let line &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let resultString &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; line.map { character in
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; character.isLowercase {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; character.uppercased()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; character.lowercased()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}.joined()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(resultString)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 또는
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// print(readLine()?.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined() ?? &amp;#34;&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;입력 받은 각 문자 하나하나가 대문자인지 소문자인지 판단해서 반대로 출력하면 되는 문제입니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Printing Repeated Strings - Programmers Lv.0 (181950)</title>
      <link>https://blog.sobamemil.com/en/posts/188-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B0%98%EB%B3%B5%ED%95%B4%EC%84%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181950-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Mon, 19 Jun 2023 21:35:34 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/188-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B0%98%EB%B3%B5%ED%95%B4%EC%84%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181950-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;문자열 str과 정수 n이 주어집니다.&lt;br&gt;
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181950&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181950&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ str의 길이 ≤ 10&lt;/li&gt;
&lt;li&gt;1 ≤ n ≤ 5&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let inp &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;.components(separatedBy: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;]).map { &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let (s1, a) &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (inp[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], Int(inp[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let resultString: String &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    var string: String &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; _ in &lt;span style=&#34;color:#ae81ff&#34;&gt;0.&lt;/span&gt;.&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;a {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        string &lt;span style=&#34;color:#f92672&#34;&gt;+=&lt;/span&gt; s1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; string
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(resultString)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 또는
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// let resultString = String(repeating: s1, count: a)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// print(resultString)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;문자열을 n 번 반복해서 이어 붙이면 되는 문제입니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Printing a and b - Programmers Lv.0 (181951)</title>
      <link>https://blog.sobamemil.com/en/posts/187-swift-a%EC%99%80-b-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181951-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Sun, 18 Jun 2023 19:30:04 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/187-swift-a%EC%99%80-b-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181951-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181951&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181951&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-100,000 ≤ a, b ≤ 100,000&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let n &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; readLine()&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;.components(separatedBy: [&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;])
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;let (a, b) &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (n[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], n[&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;a = \(a)&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;b = \(b)&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 또는 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// print(&amp;#34;a =&amp;#34;, a)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// print(&amp;#34;b =&amp;#34;, b)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;두 가지의 정수를 공백 기준으로 나눈 후, 형식에 맞게 출력 해주면 되는 문제입니다.&lt;/p&gt;
&lt;p&gt;출력은 아주 다양한 방법으로 할 수 있습니다 ~&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Swift] Printing a String - Programmers Lv.0 (181952)</title>
      <link>https://blog.sobamemil.com/en/posts/186-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181952-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</link>
      <pubDate>Sun, 18 Jun 2023 19:18:46 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/186-swift-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0-lv0-181952-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://school.programmers.co.kr/learn/courses/30/lessons/181952&#34;&gt;https://school.programmers.co.kr/learn/courses/30/lessons/181952&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Constraints:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 ≤ str의 길이 ≤ 1,000,000&lt;/li&gt;
&lt;li&gt;str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;입력 받은 문자열을 그대로 출력해주면 되는 문제입니다.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-cpp&#34; data-lang=&#34;cpp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(readLine() &lt;span style=&#34;color:#f92672&#34;&gt;??&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;readLine 함수는 optional을 return 하므로 ?? 연산자(nil 병합 연산자 / coalescing operator)를 사용해 줍니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>R 프로그램 다운로드 설치 및 실행 방법</title>
      <link>https://blog.sobamemil.com/en/posts/179-r-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89-%EB%B0%A9%EB%B2%95/</link>
      <pubDate>Thu, 03 Sep 2020 16:45:24 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/179-r-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89-%EB%B0%A9%EB%B2%95/</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. R 프로그램 설치&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1-1. 구글에 R download를 검색하고 첫 번째 cran.r-project.org를 클릭하여 사이트에 접속하거나 아래 링크를 통해 사이트에 접속합니다.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/179/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://cran.r-project.org/bin/windows/base/&#34;&gt;https://cran.r-project.org/bin/windows/base/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Download R-4.0.2 for Windows. The R-project for statistical computing.&lt;/p&gt;
&lt;p&gt;If you want to double-check that the package you have downloaded matches the package distributed by CRAN, you can compare the md5sum of the .exe to the fingerprint on the master server. You will need a version of md5sum for windows: both graphical and comm&lt;/p&gt;</description>
    </item>
    <item>
      <title>Binary Search Tree Array Implementation</title>
      <link>https://blog.sobamemil.com/en/posts/131-%EC%9D%B4%EC%9B%90-%ED%83%90%EC%83%89-%ED%8A%B8%EB%A6%ACbinary-search-tree-%EB%B0%B0%EC%97%B4-%EB%A7%8C%EB%93%A4%EA%B8%B0/</link>
      <pubDate>Thu, 19 Mar 2020 15:06:28 +0900</pubDate>
      <guid>https://blog.sobamemil.com/en/posts/131-%EC%9D%B4%EC%9B%90-%ED%83%90%EC%83%89-%ED%8A%B8%EB%A6%ACbinary-search-tree-%EB%B0%B0%EC%97%B4-%EB%A7%8C%EB%93%A4%EA%B8%B0/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;배열을 이용하여 이원 탐색 트리를 만들고 탐색하는 프로그램을 작성하라.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;입력 : 정렬이 되지 않은 숫자들&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;프로그램 :&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;2.1 입력된 숫자들을 하나씩 읽으면서 이원 탐색 트리 배열 만들기&lt;/p&gt;
&lt;p&gt;2.2 숫자 하나를 입력하면 이원탐색트리 알고리즘을 적용하여 해당하는 배열의 첨자를 출력하기&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;     (이 때 출력은 배열 원소들을 차례대로 출력하고 해당하는 배열 첨자를 출력)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;b&gt;Execution Result:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.sobamemil.com/posts/131/img_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    void newBinarySearchTree(int *num_arr, int size, int *new_num_arr) {    for(int i=0; i&amp;lt;size+20; i++){ // 이원탐색트리 배열 -1로 초기화  new_num_arr[i] = -1;  }  new_num_arr[0] = num_arr[0];    for(int i=1; i&amp;lt;size; i++){  int index=0;  // 새로 들어올 숫자가 이원탐색트리 배열의 루트보다 작으면 왼쪽으로 이동  if(new_num_arr[0] &amp;gt; num_arr[i]) {  for(int j=2*index+1;;) {  if(new_num_arr[j] != -1){ //삽입하려는 이원탐색트리 배열공간이 NULL이 아니면 비교  if(new_num_arr[j] &amp;lt; num_arr[i]) j=2*j+2; //  삽입하고자 하는 숫자가 더 크면 2j+2  else if(new_num_arr[j] &amp;gt; num_arr[i]) j=2*j+1; // 삽입하고자 하는 숫자가 더 작으면 2j+1  z  else {  //같은 숫자가 나오면 오류메시지 출력 후 프로그램 비정상 종료  cout &amp;lt;&amp;lt; &amp;quot;same data error...\n&amp;quot;; exit(1);  }  }  else if(new_num_arr[j] == -1) { // 삽입하려는 이원탐색트리 배열 공간이 NULL이면 바로 삽입  new_num_arr[j] = num_arr[i];  break;  }  }  }  // 새로 들어올 숫자가 이원탐색트리 배열의 루트보다 크면 오른쪽으로 이동  else if(new_num_arr[0] &amp;lt; num_arr[i]) {  for(int j=2*index+2;;) {  if(new_num_arr[j] != -1){ // 삽입하려는 이원탐색트리 배열공간이 NULL이 아니면 비교  if(new_num_arr[j] &amp;lt; num_arr[i]) j=2*j+2;  else if(new_num_arr[j] &amp;gt; num_arr[i]) j=2*j+1;  else {  cout &amp;lt;&amp;lt; &amp;quot;same data error...\n&amp;quot;; exit(1);  }  }  else if(new_num_arr[j] == -1) {  new_num_arr[j] = num_arr[i];  break;  }  }  }  else continue;  }  }    void find(int *new_num_arr, int size) {  int x, flag;  cout &amp;lt;&amp;lt; &amp;quot;찾고자 하는 숫자 입력 : &amp;quot;;  cin &amp;gt;&amp;gt;  x;    for(int i=0; i&amp;lt;size; i++) // 이원탐색트리 배열의 모든 원소 출력  cout &amp;lt;&amp;lt; &amp;quot;arr[&amp;quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;] : &amp;quot; &amp;lt;&amp;lt; new_num_arr[i] &amp;lt;&amp;lt; endl;    for(int i=0; i&amp;lt;size; i++){  if(new_num_arr[i] == x) {  cout &amp;lt;&amp;lt; &amp;quot;index : &amp;quot; &amp;lt;&amp;lt; i;  flag = true;  break;  }  else  flag = false;  }  if(!flag) // flag가 false이면 찾고자 하는 숫자가 없다고 출력  cout &amp;lt;&amp;lt; &amp;quot;찾고자 하는 숫자 없음\n&amp;quot;;  }    int main() {  int num_arr[] = {50, 40, 55, 30, 45, 54, 53, 1, 60, 301, 2};  int num_arr_size = sizeof(num_arr)/sizeof(num_arr[0]);  int *new_num_arr = new int [num_arr_size + 20]; // 이원탐색트리 배열 공간 생성    newBinarySearchTree(num_arr, num_arr_size, new_num_arr);  find(new_num_arr, num_arr_size + 20);  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Explanation:&lt;/b&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
