<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>iOSDev</title>
    <link>https://ios-swift-dev.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 5 Sep 2026 08:31:57 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>iOSDEv</managingEditor>
    <item>
      <title>[Swift] Lv1. 예산</title>
      <link>https://ios-swift-dev.tistory.com/73</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;예산&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;1143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buXYtU/btsFRlwRhTm/LvMwMcKcW76EhbD969fHp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buXYtU/btsFRlwRhTm/LvMwMcKcW76EhbD969fHp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buXYtU/btsFRlwRhTm/LvMwMcKcW76EhbD969fHp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuXYtU%2FbtsFRlwRhTm%2FLvMwMcKcW76EhbD969fHp1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1002&quot; height=&quot;1143&quot; data-origin-width=&quot;1002&quot; data-origin-height=&quot;1143&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;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1710744673261&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ d:[Int], _ budget:Int) -&amp;gt; Int {
    var remains = budget
    var count = 0
    
    for x in d.sorted() {    
        remains -= x
        
        if remains &amp;lt; 0
        {
            return count
        }
                 
        count += 1
       
    }
    
    return count
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;sorted를 사용하여 정렬하고&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;가지고 있는 금액에서 물품의 금액을 빼준다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;만약 0이하이면 count반환&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;아니라면 count += 1&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1710744697529&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ d:[Int], _ budget:Int) -&amp;gt; Int {
    var budget = budget

    return d.sorted().filter{
        budget = budget - $0
        return budget &amp;gt;= 0
    }.count
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;고차함수를 이용하여 깔끔한 코드를 볼 수 있었다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1710744758817&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ d:[Int], _ budget:Int) -&amp;gt; Int {
    var sum = 0
    for i in d.sorted().enumerated() {
        sum = sum + i.element
        if sum &amp;gt; budget {
            return i.offset
        }
    }
    return d.count
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;offset과 count를 사용한다 정말 신박했던 답변&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>예산</category>
      <category>프로그래머스</category>
      <category>프로그래머스 예산</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/73</guid>
      <comments>https://ios-swift-dev.tistory.com/73#entry73comment</comments>
      <pubDate>Tue, 19 Mar 2024 08:54:45 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 3진법 뒤집기</title>
      <link>https://ios-swift-dev.tistory.com/72</link>
      <description>&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;blockquote data-ke-type=&quot;image&quot; data-ke-style=&quot;style1&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Lv.1&amp;nbsp;3진법&amp;nbsp;뒤집기&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;969&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYyvwX/btsFRjFeX8X/unfg1rBw2TtCm0IUYuGTKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYyvwX/btsFRjFeX8X/unfg1rBw2TtCm0IUYuGTKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYyvwX/btsFRjFeX8X/unfg1rBw2TtCm0IUYuGTKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYyvwX%2FbtsFRjFeX8X%2Funfg1rBw2TtCm0IUYuGTKK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1008&quot; height=&quot;969&quot; data-origin-width=&quot;1008&quot; data-origin-height=&quot;969&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;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;529&quot; data-origin-height=&quot;265&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lmUOq/btsFTcSO5Tw/KANuHVQqRyBwGBuN3tGuWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lmUOq/btsFTcSO5Tw/KANuHVQqRyBwGBuN3tGuWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lmUOq/btsFTcSO5Tw/KANuHVQqRyBwGBuN3tGuWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlmUOq%2FbtsFTcSO5Tw%2FKANuHVQqRyBwGBuN3tGuWK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;529&quot; height=&quot;265&quot; data-origin-width=&quot;529&quot; data-origin-height=&quot;265&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;나는 radix를 사용하여 풀었다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;내가 생각했던것 만큼 어렵지 않았던 문제였던것 같다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;다만 optional 타입이라 옵셔널 바인딩으로 통하여 !강제로 벗겨내거나 if let을 사용하여야 한다는 점!&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1710730264174&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ n: Int) -&amp;gt; Int {
    // 주어진 정수를 변화하기 위해 n을 복사하여 사용
    var n = n
    // 변환된 3진수를 저장할 배열을 초기화
    var arr: [Int] = []

    // n이 0보다 클 때까지 3으로 나눈 나머지를 배열에 추가하고 n을 3으로 나누어 갱신
    while n &amp;gt; 0 {
        arr.append(n % 3)
        n = n / 3
    }

    // 최종 결과를 저장할 변수를 초기화
    var ret = 0
    // 변환된 3진수 배열을 순회하면서 각 자리의 값을 10진법으로 변환하여 결과에 더해버림
    for i in 1...arr.count {
        // 10진법으로 변환된 값을 구하고, 결과에 더함
        // pow : 거듭제곱한 값을 계산 
        ret += arr[i - 1] * Int(pow(3.0, Double(arr.count - i)))
    }

    return ret
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>3진법 뒤집기</category>
      <category>진법 스위프트</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/72</guid>
      <comments>https://ios-swift-dev.tistory.com/72#entry72comment</comments>
      <pubDate>Mon, 18 Mar 2024 11:52:43 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 없는 숫자 더하기</title>
      <link>https://ios-swift-dev.tistory.com/68</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;없는&amp;nbsp;숫자&amp;nbsp;더하기&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;963&quot; data-origin-height=&quot;886&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dgV16x/btsFs0kQdIh/BkozO630QnOSby0qTU6AkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dgV16x/btsFs0kQdIh/BkozO630QnOSby0qTU6AkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dgV16x/btsFs0kQdIh/BkozO630QnOSby0qTU6AkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgV16x%2FbtsFs0kQdIh%2FBkozO630QnOSby0qTU6AkK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;963&quot; height=&quot;886&quot; data-origin-width=&quot;963&quot; data-origin-height=&quot;886&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;나의풀이&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709257244133&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ numbers:[Int]) -&amp;gt; Int {  
    return 45 - numbers.reduce(0) { $0 + $1 }
}&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;0-9까지 더하게되면 (1+9 * 9) / 2 = 45 - (포함하고 있는 숫자 총합)을 구할 수 있다&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;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1709257346908&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ numbers: [Int]) -&amp;gt; Int {
    return (0...9).filter { !numbers.contains($0) }.reduce(0, +)
}&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;0~9까지 필터 고차함수를 사용해서 숫자에 포함되지 않는것만 더하는걸로 풀었다&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1709257437876&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/86051&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cuS8Xo/hyVunxz3dm/bvP4SHOdZRoTmtSKoLSMo0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/yxbxg/hyVqtlUOzS/KI0tvkHr5SBYINvSI4ikc1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/86051&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/86051&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cuS8Xo/hyVunxz3dm/bvP4SHOdZRoTmtSKoLSMo0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/yxbxg/hyVqtlUOzS/KI0tvkHr5SBYINvSI4ikc1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&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;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>없는숫자더하기</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/68</guid>
      <comments>https://ios-swift-dev.tistory.com/68#entry68comment</comments>
      <pubDate>Wed, 13 Mar 2024 07:43:59 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 최대공약수와 최소공배수 - 유클리드 호제법</title>
      <link>https://ios-swift-dev.tistory.com/67</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;최대공약수와 최소공배수&lt;br /&gt;&lt;span style=&quot;background-color: #212121; color: #ececec; text-align: start;&quot;&gt;유클리드 호제법&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;805&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kd63O/btsFm6ZQYT0/itNmM1ZFERTyMfqAUKR6m0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kd63O/btsFm6ZQYT0/itNmM1ZFERTyMfqAUKR6m0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kd63O/btsFm6ZQYT0/itNmM1ZFERTyMfqAUKR6m0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKd63O%2FbtsFm6ZQYT0%2FitNmM1ZFERTyMfqAUKR6m0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;562&quot; height=&quot;805&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;805&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709004604592&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ n:Int, _ m:Int) -&amp;gt; [Int] {
    var numA = min(n, m)
    var numB = max(n, m)
    var value = 0
    for x in 1...numA {
        // numA와 numB가 x로 나누어떨어지면 (공약수를 찾으면)
        if numA % x == 0 &amp;amp;&amp;amp; numB % x == 0 {
        // 현재의 x 값을 최대공약수로 업데이트
           value = x
        }
    }
     // 최소공배수는 두 수의 곱을 최대공약수로 나눈 값입니다.
     // [최대공약수, 최소공배수]를 반환
    return [value, value * (numA / value) * (numB / value)]
}&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1709004648628&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ n:Int, _ m:Int) -&amp;gt; [Int] {
    var first: [Int] = []
    for index in 1...n {
        if n % index == 0  &amp;amp;&amp;amp; m % index == 0 {
            first.append(index)
        }
    }
    // 배열에서 가장 마지막 값이 최대공약수
    let maxValue: Int = first[first.count-1]
    
    return [maxValue ,(n * m)/maxValue ]
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709004843715&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ n:Int, _ m:Int) -&amp;gt; [Int] {
    // 최대공약수를 계산하는 함수 gcd를 호출하여 g에 저장
    let g = gcd(n,m)
    // [최대공약수, 최소공배수]를 반환
    return [g, g * (n/g) * (m/g)]
}

func gcd(_ n:Int,_ m: Int)-&amp;gt;Int {
    // 재귀적으로 최대공약수를 계산하는 함수
    return n%m == 0 ? m : gcd(m, n%m)
}&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_1709004934640&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;//유클리드 호제법

func solution(_ n:Int, _ m:Int) -&amp;gt; [Int] {
    var (a, b) = (n, m)
    // b가 0이 될 때까지 반복
    while b != 0 {
    // a를 b로 나눈 나머지를 구해서 temp에 저장
        let temp = a % b
        // a를 b로, b를 temp로 갱신
        a = b
        b = temp
    }
    return [a, n * m / a]
}&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;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1630&quot; data-origin-height=&quot;1042&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be0VCl/btsFhhhIMDk/lBo5Bk062anB4IrnR3yiS0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be0VCl/btsFhhhIMDk/lBo5Bk062anB4IrnR3yiS0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be0VCl/btsFhhhIMDk/lBo5Bk062anB4IrnR3yiS0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe0VCl%2FbtsFhhhIMDk%2FlBo5Bk062anB4IrnR3yiS0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1630&quot; height=&quot;1042&quot; data-origin-width=&quot;1630&quot; data-origin-height=&quot;1042&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1709005069364&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12940&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/inazp/hyVqs0TCtn/gZMZKkCkqM86k3wOs3WLPK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cXdjT4/hyVqku1HOv/fyxpy0jz9mBJ4nY05FWiyK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12940&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12940&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/inazp/hyVqs0TCtn/gZMZKkCkqM86k3wOs3WLPK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/cXdjT4/hyVqku1HOv/fyxpy0jz9mBJ4nY05FWiyK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>챗gpt</category>
      <category>최대공약수와최소공배수</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/67</guid>
      <comments>https://ios-swift-dev.tistory.com/67#entry67comment</comments>
      <pubDate>Tue, 12 Mar 2024 08:38:16 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 직사각형 별찍기</title>
      <link>https://ios-swift-dev.tistory.com/66</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;직사각형 별찍기&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;705&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WLgYQ/btsFg2rv0X0/5jVOKaNWWpLhpQzVyThpik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WLgYQ/btsFg2rv0X0/5jVOKaNWWpLhpQzVyThpik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WLgYQ/btsFg2rv0X0/5jVOKaNWWpLhpQzVyThpik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWLgYQ%2FbtsFg2rv0X0%2F5jVOKaNWWpLhpQzVyThpik%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;562&quot; height=&quot;705&quot; data-origin-width=&quot;562&quot; data-origin-height=&quot;705&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;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1709003789753&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

let n = readLine()!.components(separatedBy: [&quot; &quot;]).map { Int($0)! }
let (a, b) = (n[0], n[1])

for _ in 1...b {
    print(String(repeating: &quot;*&quot;, count: a)) // '*' 문자를 a번 반복하여 이루어진 문자열을 출력합니다.
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1709003829399&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

let n = readLine()!.components(separatedBy: [&quot; &quot;]).map { Int($0)! }
let (a, b) = (n[0], n[1])

for _ in 1...b {
    for _ in 1...a {
        print(&quot;*&quot;, terminator: &quot;&quot;)
    }
    print(&quot;&quot;)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709003846622&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

let n = readLine()!.components(separatedBy: [&quot; &quot;]).map { Int($0)! }
let (a, b) = (n[0], n[1])

for _ in 0..&amp;lt;b {
    print(Array(repeating: &quot;*&quot;, count: a).joined())
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1709003898169&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

let n = readLine()!.components(separatedBy: [&quot; &quot;]).map { Int($0)! }
let (a, b) = (n[0], n[1])

// a 가로 b 세로

var str = &quot;&quot;

for j in 1...a {
    str.append(&quot;*&quot;) 
}

for i in 1...b
{
    print(str)
}&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1709004543856&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12969&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gvjNC/hyVqlU1ZWE/tSbsPEoKUeIrAOOAYMC4S0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/boXI5A/hyVqs7GDv0/XKrXJKGfvkMk9usT3DUNMK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12969&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12969&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gvjNC/hyVqlU1ZWE/tSbsPEoKUeIrAOOAYMC4S0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/boXI5A/hyVqs7GDv0/XKrXJKGfvkMk9usT3DUNMK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>직사각형별찍기</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/66</guid>
      <comments>https://ios-swift-dev.tistory.com/66#entry66comment</comments>
      <pubDate>Mon, 11 Mar 2024 07:29:12 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 행렬의 덧셈</title>
      <link>https://ios-swift-dev.tistory.com/64</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;행렬의 덧셈&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제 설명&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1328&quot; data-origin-height=&quot;461&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/616Hc/btsFjKwv6E2/Xvrbg0pPlrkat1em22KfZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/616Hc/btsFjKwv6E2/Xvrbg0pPlrkat1em22KfZK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/616Hc/btsFjKwv6E2/Xvrbg0pPlrkat1em22KfZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F616Hc%2FbtsFjKwv6E2%2FXvrbg0pPlrkat1em22KfZK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1328&quot; height=&quot;461&quot; data-origin-width=&quot;1328&quot; data-origin-height=&quot;461&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;blockquote data-ke-style=&quot;style2&quot;&gt;나의 설명&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708941550547&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -&amp;gt; [[Int]] {
    return zip(arr1, arr2)
        .map {
            zip($0, $1).map { $0 + $1 }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;zip에 대해서 좀 더 배울 수 있었던 시간이였다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqG1Mp/btsFmliqk2R/T7GNRS3SoDThE4rktRkGxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqG1Mp/btsFmliqk2R/T7GNRS3SoDThE4rktRkGxK/img.png&quot; data-alt=&quot;zip + map 정렬을 두개만 하게 되면 [0.0 , 1.0] 한 묶음으로 된다 그래서 한번 더 묶어서 map을 해준 후 더해주면 결과값이 나온다&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqG1Mp/btsFmliqk2R/T7GNRS3SoDThE4rktRkGxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqG1Mp%2FbtsFmliqk2R%2FT7GNRS3SoDThE4rktRkGxK%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;219&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;zip + map 정렬을 두개만 하게 되면 [0.0 , 1.0] 한 묶음으로 된다 그래서 한번 더 묶어서 map을 해준 후 더해주면 결과값이 나온다&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708941719358&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -&amp;gt; [[Int]] {
    var arr: [[Int]] = []

    for n in 0..&amp;lt;arr1.count {
        var temp:[Int] = []
        for m in 0..&amp;lt;arr1[n].count { //각 숫자에 한해서만 더해진다
            temp.append(arr1[n][m] + arr2[n][m])
        }
        //[[0.0, 0.1],[1.0, 1.1]]
        arr.append(temp)
    }

    return arr
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1708941755185&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -&amp;gt; [[Int]] {
    var arr3:[[Int]] = Array(repeating:Array(repeating:0, count:arr1[0].count), count:arr1.count)
    for i in 0..&amp;lt;arr1.count {
        for j in 0..&amp;lt;arr1[i].count {
            arr3[i][j] = arr1[i][j] + arr2[i][j]
        }
    }
    return arr3
}&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;figure id=&quot;og_1708941860006&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12950&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/TIVaO/hyVquc51rM/0zW0ipCKX5HJNzcVxCvB10/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bCcLYp/hyVqmTFt7a/LGcFNKUeD94xmGZMWB7JT0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12950&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12950&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/TIVaO/hyVquc51rM/0zW0ipCKX5HJNzcVxCvB10/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bCcLYp/hyVqmTFt7a/LGcFNKUeD94xmGZMWB7JT0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>프로그래머스</category>
      <category>행렬의덧셈</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/64</guid>
      <comments>https://ios-swift-dev.tistory.com/64#entry64comment</comments>
      <pubDate>Sun, 10 Mar 2024 07:57:44 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 문자열 다루기 기본</title>
      <link>https://ios-swift-dev.tistory.com/63</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;문자열 다루기 기본&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cOP3ZE/btsFg3w31uM/9MN2Kpgktj6M1T1VeOwqg1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cOP3ZE/btsFg3w31uM/9MN2Kpgktj6M1T1VeOwqg1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cOP3ZE/btsFg3w31uM/9MN2Kpgktj6M1T1VeOwqg1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOP3ZE%2FbtsFg3w31uM%2F9MN2Kpgktj6M1T1VeOwqg1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;984&quot; height=&quot;664&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708941316778&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ s:String) -&amp;gt; Bool {
    if(s.count == 4 || s.count == 6) {
        let result =  s.description.map { $0 }.filter { $0.isNumber }.count == s.count ? true : false
        return result
    }
    
    return false
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;고차함수를 사용하여 숫자의 갯수와 문자열의 길이가 같은지 판별을 한다&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708941366309&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ s:String) -&amp;gt; Bool {
    return (Int(s) != nil &amp;amp;&amp;amp; (s.count == 4 || s.count == 6)) ? true : false
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;문자를 정수로 변형했을때 변환이 되지 않는다면 false로 변환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1708941381516&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ s:String) -&amp;gt; Bool {
    if s.count == 4 || s.count == 6 {
        guard let num = Int(s) else { return false}
        return true
    }
    return false
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;이것도 동일하게 위와 동일한 풀이라고 할 수 있다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1708941447331&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12918&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dFWQhX/hyVqlNZr9R/KlMUT0WHtkz71hzU1WrREK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/mpnH3/hyVqgsmQCY/WL3CFCkYB1g54dshQl5Ns1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12918&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12918&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dFWQhX/hyVqlNZr9R/KlMUT0WHtkz71hzU1WrREK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/mpnH3/hyVqgsmQCY/WL3CFCkYB1g54dshQl5Ns1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>문자열다루기기본</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/63</guid>
      <comments>https://ios-swift-dev.tistory.com/63#entry63comment</comments>
      <pubDate>Sat, 9 Mar 2024 07:57:39 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 부족한 금액 계산하기</title>
      <link>https://ios-swift-dev.tistory.com/62</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;부족한 금액 계산하기&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;1133&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ccMN6k/btsFiPShB8y/6JwbVXgFDt3wGMi8eYr2g1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ccMN6k/btsFiPShB8y/6JwbVXgFDt3wGMi8eYr2g1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ccMN6k/btsFiPShB8y/6JwbVXgFDt3wGMi8eYr2g1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FccMN6k%2FbtsFiPShB8y%2F6JwbVXgFDt3wGMi8eYr2g1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;998&quot; height=&quot;1133&quot; data-origin-width=&quot;998&quot; data-origin-height=&quot;1133&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708940927646&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -&amp;gt; Int64{
    var answer:Int64 = -1
    var charge = 0
    for i in 0...count { //놀이기구 count만큼 타고 싶은 이용 금액
        charge += (price * i)
    }
    if money - charge &amp;gt;= 0 { 
        return 0
    } else {
        return Int64(charge - money)//소지 금액 - 내가 원하는 만큼 타야할 경우 이용료
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708940942777&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -&amp;gt; Int{
    //금액이 부족하지 않으면 0 을 return
    //값을 계산하는 공식
    return max((count + 1) * count / 2 * price - money , 0) 
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1708940958973&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -&amp;gt; Int64{
    let totalPrice = price * (count * (count+1)/2)

    if money &amp;gt;= totalPrice {
        return 0
    }

    return Int64(totalPrice - money)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1710727950989&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ price:Int, _ money:Int, _ count:Int) -&amp;gt; Int64{
	// 횟수에 비례한 가격 계산
    let cost = (1...count).reduce(0) { $0 + price * $1 }
    //소지금액에서 금액을 계산하고 난 후 양수 음수 판별하고 값을 return
    return money - cost &amp;gt; 0 ? 0 : -Int64(money - cost)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1710728005552&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -&amp;gt; Int64{
	//고차함수 reduce를 사용해서 횟수에 비례하여 값을 계산한고 잔돈을 계산한후
    var answer:Int64 = Int64((1...count).reduce(0, +) * price - money)
    //양수면 값을 반환 음수일 때 0을 반환
    return answer &amp;gt;= 0 ? answer : 0 
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1708941198636&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/82612&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/yWwc4/hyVqj3IFTS/KPBKdJdog6N7nbf6vStBb1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/DEyG8/hyVqvb1eMq/50BPexkfDT3Iy8PnP6Mal0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/82612&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/82612&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/yWwc4/hyVqj3IFTS/KPBKdJdog6N7nbf6vStBb1/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/DEyG8/hyVqvb1eMq/50BPexkfDT3Iy8PnP6Mal0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>부족한금액계산하기</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/62</guid>
      <comments>https://ios-swift-dev.tistory.com/62#entry62comment</comments>
      <pubDate>Fri, 8 Mar 2024 07:53:33 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 문자열 내림차순으로 배치하기</title>
      <link>https://ios-swift-dev.tistory.com/61</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;문자열 내림차순으로 배치하기&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;410&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brWOjl/btsFg2q5MkJ/hn3OLLd4DN5gyfid4NmcVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brWOjl/btsFg2q5MkJ/hn3OLLd4DN5gyfid4NmcVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brWOjl/btsFg2q5MkJ/hn3OLLd4DN5gyfid4NmcVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrWOjl%2FbtsFg2q5MkJ%2Fhn3OLLd4DN5gyfid4NmcVk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;865&quot; height=&quot;410&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;410&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;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708927178592&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ s:String) -&amp;gt; String {
    return String(s.sorted(by:&amp;gt;))
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;사실 클로저라 return도 필요없는것&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1708940161867&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ s:String) -&amp;gt; String {
    let lowcasedConstant = &quot;a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z&quot;
    let uppercasedConstant = lowcasedConstant.uppercased()

    var lowcased = String()
    var uppercased = String()

    var result = String()

    for ch in s {
        if lowcasedConstant.contains(ch) {
            lowcased.append(ch)
        } else if uppercasedConstant.contains(ch) {
            uppercased.append(ch)
        }
    }

    let ascendingSortLowercase = lowcased.sorted { (lhs, rhs) -&amp;gt; Bool in
        return lhs &amp;gt; rhs
    }

    let ascendingSortUppercase = uppercased.sorted { (lhs, rhs) -&amp;gt; Bool in
        return lhs &amp;gt; rhs
    }

    for index in ascendingSortLowercase.indices {
        result.append(ascendingSortLowercase[index])
    }

    for index in ascendingSortUppercase.indices {
        result.append(ascendingSortUppercase[index])
    }

    return result
}&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1708940804135&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12917&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ZFuqc/hyVqnE2RVQ/j9kRm98DCC5ikks7XEVoG0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bz3YRv/hyVqndWMmB/1nlFaGzZLmZwxUTIJDOb0k/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12917&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/12917&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ZFuqc/hyVqnE2RVQ/j9kRm98DCC5ikks7XEVoG0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/bz3YRv/hyVqndWMmB/1nlFaGzZLmZwxUTIJDOb0k/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>swift</category>
      <category>문자열내림차순으로배치하기</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/61</guid>
      <comments>https://ios-swift-dev.tistory.com/61#entry61comment</comments>
      <pubDate>Thu, 7 Mar 2024 08:46:48 +0900</pubDate>
    </item>
    <item>
      <title>[Swift] Lv.1 약수의 개수와 덧셈</title>
      <link>https://ios-swift-dev.tistory.com/60</link>
      <description>&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;약수의 개수와 덧셈&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;문제&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;1203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nDw85/btsFkJp4IP3/htIjI4at20mTIMRP8YSJK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nDw85/btsFkJp4IP3/htIjI4at20mTIMRP8YSJK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nDw85/btsFkJp4IP3/htIjI4at20mTIMRP8YSJK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnDw85%2FbtsFkJp4IP3%2FhtIjI4at20mTIMRP8YSJK0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;993&quot; height=&quot;1203&quot; data-origin-width=&quot;993&quot; data-origin-height=&quot;1203&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;blockquote data-ke-style=&quot;style2&quot;&gt;나의 풀이&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;565&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgraS9/btsFfelh4lB/OKQWo9oMFZeb0b0JBvV0y0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgraS9/btsFfelh4lB/OKQWo9oMFZeb0b0JBvV0y0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgraS9/btsFfelh4lB/OKQWo9oMFZeb0b0JBvV0y0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgraS9%2FbtsFfelh4lB%2FOKQWo9oMFZeb0b0JBvV0y0%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;675&quot; height=&quot;565&quot; data-origin-width=&quot;675&quot; data-origin-height=&quot;565&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;나의 풀이는 while문과 for문을 합쳐서 문제를 풀었다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;우선 for문을통해 약수의 갯수를 더해주고 약수의 갯수의 짝수 홀수 유무에 따라서 더해주거나 빼주는걸로 풀었습니다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 사람의 풀이&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1708911220788&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;func solution(_ left: Int, _ right: Int) -&amp;gt; Int {
    return (left...right).map { i in (1...i).filter { i % $0 == 0 }.count % 2 == 0 ? i : -i }.reduce(0, +)
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;역시 고차함수..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1276&quot; data-origin-height=&quot;131&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbeAB5/btsFfUtl3Qd/B3VWGXPHvxdLB8J5KN0If1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbeAB5/btsFfUtl3Qd/B3VWGXPHvxdLB8J5KN0If1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbeAB5/btsFfUtl3Qd/B3VWGXPHvxdLB8J5KN0If1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbeAB5%2FbtsFfUtl3Qd%2FB3VWGXPHvxdLB8J5KN0If1%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;1276&quot; height=&quot;131&quot; data-origin-width=&quot;1276&quot; data-origin-height=&quot;131&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;나도 다음엔 이런식으로 짤 수 있음 좋을것 같았다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1708911246340&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ left:Int, _ right:Int) -&amp;gt; Int {
    var answer = 0

    for number in left...right{
		//floor() 실수를 전달하면 소수점 이하는 다 버린다
        if floor(sqrt(Double(number))) == sqrt(Double(number)) {
            answer -= number
        } else {
            answer += number
        }
    }
    return answer
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;굉장한 아이디어다..&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;제곱수가 아닌 이상 홀수가 아니기에 저렇게 식을 짠것 같다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;631&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHpI64/btsFjJKAWFM/DSMCICDiGFjbsk0FAgMoPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHpI64/btsFjJKAWFM/DSMCICDiGFjbsk0FAgMoPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHpI64/btsFjJKAWFM/DSMCICDiGFjbsk0FAgMoPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHpI64%2FbtsFjJKAWFM%2FDSMCICDiGFjbsk0FAgMoPk%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;681&quot; height=&quot;631&quot; data-origin-width=&quot;681&quot; data-origin-height=&quot;631&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bme09L/btsFeFQU9dx/rnf55dV6NhKnkJPJBUCy70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bme09L/btsFeFQU9dx/rnf55dV6NhKnkJPJBUCy70/img.png&quot; data-alt=&quot;floor 소수점을 버림&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bme09L/btsFeFQU9dx/rnf55dV6NhKnkJPJBUCy70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbme09L%2FbtsFeFQU9dx%2Frnf55dV6NhKnkJPJBUCy70%2Fimg.png&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; loading=&quot;lazy&quot; width=&quot;654&quot; height=&quot;304&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;304&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;floor 소수점을 버림&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;소수점 관련된 메서드는 한 번 정리하는 편이 나을것 같다라는 생각이 들었다&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1710727300705&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import Foundation

func solution(_ left:Int, _ right:Int) -&amp;gt; Int {
	//배열로 만듦
    let numbers = Array&amp;lt;Int&amp;gt;(left...right)
    //약수의 개수를 계산함
    let factorsCount = numbers.map { number in
        return (1...number).filter { number % $0 == 0 }.count
    }
    //약수의 개수가 홀수인지 짝수인지 판별하여ㅑ 결과값을 더하거나 뺴는 작업 수행
    return numbers.enumerated().reduce(0) {
        return $0 + (factorsCount[$1.offset] % 2 == 0 ? $1.element : -$1.element)
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1708912221798&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;프로그래머스&quot; data-og-description=&quot;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/77884&quot; data-og-url=&quot;https://programmers.co.kr/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cSyMHR/hyVquqss1Z/DGeP5RLKmSjj7Yafivcs00/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/naAwM/hyVqoX5L1o/hToonScZR2qt3VUVG4LoS0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/77884&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://school.programmers.co.kr/learn/courses/30/lessons/77884&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cSyMHR/hyVquqss1Z/DGeP5RLKmSjj7Yafivcs00/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630,https://scrap.kakaocdn.net/dn/naAwM/hyVqoX5L1o/hToonScZR2qt3VUVG4LoS0/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;프로그래머스&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Swift | programmers/Lv1.</category>
      <category>swift</category>
      <category>약수의개수와덧셈</category>
      <category>프로그래머스</category>
      <author>iOSDEv</author>
      <guid isPermaLink="true">https://ios-swift-dev.tistory.com/60</guid>
      <comments>https://ios-swift-dev.tistory.com/60#entry60comment</comments>
      <pubDate>Wed, 6 Mar 2024 08:50:37 +0900</pubDate>
    </item>
  </channel>
</rss>