<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발 벌크업</title>
    <link>https://guco.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 26 Jun 2026 09:22:07 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>마이구미+</managingEditor>
    <image>
      <title>개발 벌크업</title>
      <url>https://tistory1.daumcdn.net/tistory/6108268/attach/bc058559e1e24b1fb805fdfb6b42caa2</url>
      <link>https://guco.tistory.com</link>
    </image>
    <item>
      <title>230824 알고리즘 문제 풀이 [TIL]</title>
      <link>https://guco.tistory.com/336</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;오늘 한 일/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 알고리즘 문제 풀이&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/333&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/333&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/334&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/334&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/335&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/335&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;알고리즘 문제만 풀었다 오늘..&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1692876001386&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Majority Element&quot; data-og-description=&quot;문제링크 Majority Element - LeetCode Can you solve this real interview question? Majority Element - Given an array nums of size n, return the majority element. The majority element is the element that appears more than &amp;lfloor;n / 2&amp;rfloor; times. You may assume&quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/333&quot; data-og-url=&quot;https://guco.tistory.com/333&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/biJKDg/hyTINFLYYy/L5aU2VEiq82y0UiM7FeUk0/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/cCVuHy/hyTIDXs3vM/w7Iy6ngA0gl88ZHnRydxQk/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/bIjHt1/hyTIMNC07V/hDBWx4ERlZAGNn0NbrgRe1/img.png?width=1086&amp;amp;height=1104&amp;amp;face=0_0_1086_1104&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/333&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/333&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/biJKDg/hyTINFLYYy/L5aU2VEiq82y0UiM7FeUk0/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/cCVuHy/hyTIDXs3vM/w7Iy6ngA0gl88ZHnRydxQk/img.png?width=800&amp;amp;height=530&amp;amp;face=0_0_800_530,https://scrap.kakaocdn.net/dn/bIjHt1/hyTIMNC07V/hDBWx4ERlZAGNn0NbrgRe1/img.png?width=1086&amp;amp;height=1104&amp;amp;face=0_0_1086_1104');&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;[코테] Majority Element&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제링크 Majority Element - LeetCode Can you solve this real interview question? Majority Element - Given an array nums of size n, return the majority element. The majority element is the element that appears more than &amp;lfloor;n / 2&amp;rfloor; times. You may assume&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1692875999235&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Best Time to Buy and Sell Stock&quot; data-og-description=&quot;문제링크 Best Time to Buy and Sell Stock - LeetCode Can you solve this real interview question? Best Time to Buy and Sell Stock - You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your prof&quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/334&quot; data-og-url=&quot;https://guco.tistory.com/334&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/hJmaa/hyTIGs6jJa/yuqKLjUAzvYxZYJ8IkpAE1/img.png?width=800&amp;amp;height=300&amp;amp;face=0_0_800_300,https://scrap.kakaocdn.net/dn/mR8LI/hyTIGNpcYE/RgfRJkRQz8Mmq0iiSSlYt1/img.png?width=800&amp;amp;height=300&amp;amp;face=0_0_800_300,https://scrap.kakaocdn.net/dn/O5y8E/hyTINy121Y/9brwVxKCGgsmDc9h45pQR1/img.png?width=1296&amp;amp;height=902&amp;amp;face=0_0_1296_902&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/334&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/334&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/hJmaa/hyTIGs6jJa/yuqKLjUAzvYxZYJ8IkpAE1/img.png?width=800&amp;amp;height=300&amp;amp;face=0_0_800_300,https://scrap.kakaocdn.net/dn/mR8LI/hyTIGNpcYE/RgfRJkRQz8Mmq0iiSSlYt1/img.png?width=800&amp;amp;height=300&amp;amp;face=0_0_800_300,https://scrap.kakaocdn.net/dn/O5y8E/hyTINy121Y/9brwVxKCGgsmDc9h45pQR1/img.png?width=1296&amp;amp;height=902&amp;amp;face=0_0_1296_902');&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;[코테] Best Time to Buy and Sell Stock&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제링크 Best Time to Buy and Sell Stock - LeetCode Can you solve this real interview question? Best Time to Buy and Sell Stock - You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your prof&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1692875996528&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Best Time to Buy and Sell Stock II&quot; data-og-description=&quot;문제링크 Best Time to Buy and Sell Stock II - LeetCode Can you solve this real interview question? Best Time to Buy and Sell Stock II - You are given an integer array prices where prices[i] is the price of a given stock on the ith day. On each day, you&quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/335&quot; data-og-url=&quot;https://guco.tistory.com/335&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bpizPa/hyTILHV6Fc/QDgQsR4K6J1liBsuKFkKZK/img.png?width=800&amp;amp;height=297&amp;amp;face=0_0_800_297,https://scrap.kakaocdn.net/dn/bTUQJZ/hyTIMGRHfr/fGwqCvjTjoUfb3nZjaSDs0/img.png?width=800&amp;amp;height=297&amp;amp;face=0_0_800_297,https://scrap.kakaocdn.net/dn/b1Zb0K/hyTINy12DS/uf6Dbc4CRqeHZifiQQJGOK/img.png?width=1310&amp;amp;height=1064&amp;amp;face=0_0_1310_1064&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/335&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/335&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bpizPa/hyTILHV6Fc/QDgQsR4K6J1liBsuKFkKZK/img.png?width=800&amp;amp;height=297&amp;amp;face=0_0_800_297,https://scrap.kakaocdn.net/dn/bTUQJZ/hyTIMGRHfr/fGwqCvjTjoUfb3nZjaSDs0/img.png?width=800&amp;amp;height=297&amp;amp;face=0_0_800_297,https://scrap.kakaocdn.net/dn/b1Zb0K/hyTINy12DS/uf6Dbc4CRqeHZifiQQJGOK/img.png?width=1310&amp;amp;height=1064&amp;amp;face=0_0_1310_1064');&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;[코테] Best Time to Buy and Sell Stock II&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제링크 Best Time to Buy and Sell Stock II - LeetCode Can you solve this real interview question? Best Time to Buy and Sell Stock II - You are given an integer array prices where prices[i] is the price of a given stock on the ith day. On each day, you&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;느낀 점/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;오늘 5문제 풀었어야 했는데 오전에 국취제 과제 하느라 조금 늦게 시작했더니 아직 2문제를 못 풀었다&lt;/li&gt;
&lt;li&gt;이따 밤에 가능하면 풀겠지만 하루종일 알고리즘 문제만 붙잡고 있으려니 머리가 아파서 못 풀 것 같다&lt;/li&gt;
&lt;li&gt;알고리즘/자료구조에 대한 개념이 약하다 보니까 푸는 데 시간이 오래 걸리는 것 같다&lt;/li&gt;
&lt;li&gt;책을 사서 봐야 할 듯&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;내일 목표/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;오전 10시 이전에 나머지 2문제 풀고 제출하기..&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>개발일지/Today I Learned</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/336</guid>
      <comments>https://guco.tistory.com/336#entry336comment</comments>
      <pubDate>Thu, 24 Aug 2023 20:22:23 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Best Time to Buy and Sell Stock II</title>
      <link>https://guco.tistory.com/335</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1298&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CORo8/btsr4lRe4a0/NAWLIcgAGdbHEgtgFxRbLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CORo8/btsr4lRe4a0/NAWLIcgAGdbHEgtgFxRbLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CORo8/btsr4lRe4a0/NAWLIcgAGdbHEgtgFxRbLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCORo8%2Fbtsr4lRe4a0%2FNAWLIcgAGdbHEgtgFxRbLk%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;1298&quot; height=&quot;482&quot; data-origin-width=&quot;1298&quot; data-origin-height=&quot;482&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;1310&quot; data-origin-height=&quot;1064&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCo9Kc/btsr4M2xcoc/rgtDdNQAnkAnbLnrMBmBA0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCo9Kc/btsr4M2xcoc/rgtDdNQAnkAnbLnrMBmBA0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCo9Kc/btsr4M2xcoc/rgtDdNQAnkAnbLnrMBmBA0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCo9Kc%2Fbtsr4M2xcoc%2FrgtDdNQAnkAnbLnrMBmBA0%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;1310&quot; height=&quot;1064&quot; data-origin-width=&quot;1310&quot; data-origin-height=&quot;1064&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;1290&quot; data-origin-height=&quot;198&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dammLP/btssaqRpSZb/WZQPDfQr5VF4AxvHH2FzKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dammLP/btssaqRpSZb/WZQPDfQr5VF4AxvHH2FzKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dammLP/btssaqRpSZb/WZQPDfQr5VF4AxvHH2FzKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdammLP%2FbtssaqRpSZb%2FWZQPDfQr5VF4AxvHH2FzKK%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;1290&quot; height=&quot;198&quot; data-origin-width=&quot;1290&quot; data-origin-height=&quot;198&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;a href=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692872917392&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;Best Time to Buy and Sell Stock II - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Best Time to Buy and Sell Stock II - You are given an integer array prices where prices[i] is the price of a given stock on the ith day. On each day, you may decide to buy and/or sell the stock. You can only hold&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/&quot; data-og-url=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dw1UcP/hyTIDJR4Nc/Qw2k5o2y2eu9iGG821hOpK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dw1UcP/hyTIDJR4Nc/Qw2k5o2y2eu9iGG821hOpK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Best Time to Buy and Sell Stock II - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Best Time to Buy and Sell Stock II - You are given an integer array prices where prices[i] is the price of a given stock on the ith day. On each day, you may decide to buy and/or sell the stock. You can only hold&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Best Time to Buy and Sell Stock I에서 푼 풀이에서 조금만 바꾸면 될 것 같다&lt;/li&gt;
&lt;li&gt;일단 profit 변수는 이익이 나는 경우에 profit 기존 값에 더해주는 걸로 수정한다&lt;/li&gt;
&lt;li&gt;이익을 얻고 나면 buy값을 다음 인덱스 값으로 바꿔준다(일종의 초기화??)&lt;/li&gt;
&lt;li&gt;나머진 똑같다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 풀이/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692872933340&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProfit(self, prices: List[int]) -&amp;gt; int:
        buy, sell, profit = prices[0], 0, 0
 
        for i in range(len(prices)-1):
            if prices[i] &amp;lt; buy:
                buy = prices[i]
                
            if buy &amp;lt; prices[i+1]:
                sell = prices[i+1]
                
            if sell - buy &amp;gt; 0:
                profit += sell - buy
            
            if profit != 0:
                buy = prices[i+1]
                
            sell = 0
        return profit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1294&quot; data-origin-height=&quot;338&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYsM9/btssaSGWJeo/E7t7YSKIxVWKNOBgQmGZTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYsM9/btssaSGWJeo/E7t7YSKIxVWKNOBgQmGZTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYsM9/btssaSGWJeo/E7t7YSKIxVWKNOBgQmGZTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYsM9%2FbtssaSGWJeo%2FE7t7YSKIxVWKNOBgQmGZTK%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;1294&quot; height=&quot;338&quot; data-origin-width=&quot;1294&quot; data-origin-height=&quot;338&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이1&lt;/h3&gt;
&lt;pre id=&quot;code_1692873120215&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProfit(self, a: List[int]) -&amp;gt; int:
        ans=0
        x=a[0]
        for i in range(1,len(a)):
            if(x&amp;gt;a[i]):
                x=a[i]
            else:
                ans+=a[i]-x
                x=a[i]
        return ans&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;간단해 보인다...&lt;/li&gt;
&lt;li&gt;a[i]는 판매금액(=sell), x는 구매금액(=buy)&lt;/li&gt;
&lt;li&gt;그냥 단순하네 판매금액이 구매금액보다 크면 팔고, 안 크면 구매금액을 다음 인덱스로 업데이트 하고&lt;/li&gt;
&lt;li&gt;아니 그럼 [2,3,5,2,5]인 경우에&amp;nbsp;&lt;/li&gt;
&lt;li&gt;아 판매금액이 구매금액보다 클 때마다 팔든, 기다렸다가 제일 값이 많이 나갈 때 팔든 구매금액도 계속 업데이트 하니까 이익은 똑같구나...&lt;/li&gt;
&lt;li&gt;뭐 이런 문제가..!!&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;수정/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692874033268&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProfit(self, prices: List[int]) -&amp;gt; int:
        buy, profit = prices[0], 0
 
        for i in range(1, len(prices)):
            if prices[i] &amp;lt; buy:
                buy = prices[i]
            else:
                profit += prices[i] - buy
                buy = prices[i]
            
        return profit&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;고치고 보니 그냥 천재풀이1이랑 똑같.....&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/335</guid>
      <comments>https://guco.tistory.com/335#entry335comment</comments>
      <pubDate>Thu, 24 Aug 2023 19:48:03 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Best Time to Buy and Sell Stock</title>
      <link>https://guco.tistory.com/334</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1294&quot; data-origin-height=&quot;486&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W612J/btsr62ci0Eh/vSvyEyjgbJqXkIwgtrJMRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W612J/btsr62ci0Eh/vSvyEyjgbJqXkIwgtrJMRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W612J/btsr62ci0Eh/vSvyEyjgbJqXkIwgtrJMRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW612J%2Fbtsr62ci0Eh%2FvSvyEyjgbJqXkIwgtrJMRK%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;1294&quot; height=&quot;486&quot; data-origin-width=&quot;1294&quot; data-origin-height=&quot;486&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;1296&quot; data-origin-height=&quot;902&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBWEpS/btssaULvZSv/b4mXzcDD7jp8iKdYfTFjr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBWEpS/btssaULvZSv/b4mXzcDD7jp8iKdYfTFjr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBWEpS/btssaULvZSv/b4mXzcDD7jp8iKdYfTFjr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBWEpS%2FbtssaULvZSv%2Fb4mXzcDD7jp8iKdYfTFjr0%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;1296&quot; height=&quot;902&quot; data-origin-width=&quot;1296&quot; data-origin-height=&quot;902&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;a href=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692871291810&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;Best Time to Buy and Sell Stock - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Best Time to Buy and Sell Stock - You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosin&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&quot; data-og-url=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/ehUFNa/hyTIMNxCGd/IQMvORRMECrMKEFsKX5owk/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/best-time-to-buy-and-sell-stock/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/ehUFNa/hyTIMNxCGd/IQMvORRMECrMKEFsKX5owk/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Best Time to Buy and Sell Stock - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Best Time to Buy and Sell Stock - You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosin&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;일단 buy, sell, profit 이라는 변수를 생성하고, buy는 prices 배열의 첫 번째 값, sell과 profit은 0으로 초기화한다&lt;/li&gt;
&lt;li&gt;for문을 prices 인덱스 0부터 마지막 인덱스 전까지 돌린다&lt;/li&gt;
&lt;li&gt;0번 인덱스 값부터 비교해서, 해당 값이 buy 값보다 작으면 buy에 해당 값을 넣는다(적은 돈으로 살 수록 이익이 크니까)&lt;/li&gt;
&lt;li&gt;그렇게 수정된 buy 값과 다음 인덱스 값과 비교해서 buy보다 크면 sell에 다음 인덱스 값을 넣는다(산 값보다 판 값이 더 커야 이익이니까)&lt;/li&gt;
&lt;li&gt;그 다음 profit과 sell - buy 연산의 값을 비교해서 sell - buy 연산 값이 더 크면 profit에 해당 값을 넣는다&lt;/li&gt;
&lt;li&gt;다음 for문이 돌기 전, sell은 0으로 초기화 해준다(계속해서 바뀔지 모르는 buy 값과 비교해서 sell 값을 업데이트 해줘야 하기 때문)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 풀이/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692871311353&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def maxProfit(self, prices: List[int]) -&amp;gt; int:
        buy, sell, profit = prices[0], 0, 0

        for i in range(len(prices)-1):
            if prices[i] &amp;lt; buy:
                buy = prices[i]
                
            if buy &amp;lt; prices[i+1]:
                sell = prices[i+1]
                
            if profit &amp;lt; sell - buy:
                profit = sell - buy
                
            sell = 0
            
        return profit&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1304&quot; data-origin-height=&quot;328&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQ999K/btsr5Vq7DGL/HlFrznaJf7eahQIxVlDBw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQ999K/btsr5Vq7DGL/HlFrznaJf7eahQIxVlDBw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQ999K/btsr5Vq7DGL/HlFrznaJf7eahQIxVlDBw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQ999K%2Fbtsr5Vq7DGL%2FHlFrznaJf7eahQIxVlDBw1%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;1304&quot; height=&quot;328&quot; data-origin-width=&quot;1304&quot; data-origin-height=&quot;328&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;꽤 괜찮은 점수같긴 한데 시간복잡도를 조금 낮춰야 할 필요가 있어보인다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이1&lt;/h3&gt;
&lt;pre id=&quot;code_1692871751662&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def maxProfit(self, prices: List[int]) -&amp;gt; int:
	if not prices:
		return 0

	maxProfit = 0
	minPurchase = prices[0]
	for i in range(1, len(prices)):		
		maxProfit = max(maxProfit, prices[i] - minPurchase)
		minPurchase = min(minPurchase, prices[i])
	return maxProfit&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;아 if문으로 할 게 아니라 max, min함수 썼으면 됐구나...!!&lt;/li&gt;
&lt;li&gt;근데 max, min 쓰니까 실행시간이 더 걸린다&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692872024226&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 위 코드 보고 수정한 풀이
class Solution:
    def maxProfit(self, prices: List[int]) -&amp;gt; int:
        buy, sell, profit = prices[0], 0, 0

        for i in range(len(prices)-1):
            buy = min(prices[i], buy)
            sell = max(prices[i+1], buy)
            profit = max(profit, sell - buy)
            sell = 0
            
        return profit&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;뭔가 보기엔 깔끔해 보여서 좋긴 한데...&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/334</guid>
      <comments>https://guco.tistory.com/334#entry334comment</comments>
      <pubDate>Thu, 24 Aug 2023 19:15:48 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Majority Element</title>
      <link>https://guco.tistory.com/333</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;866&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xtCgv/btsr0YuzsRE/obQ7RHCZVjgFKTiPrvKEUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xtCgv/btsr0YuzsRE/obQ7RHCZVjgFKTiPrvKEUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xtCgv/btsr0YuzsRE/obQ7RHCZVjgFKTiPrvKEUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxtCgv%2Fbtsr0YuzsRE%2FobQ7RHCZVjgFKTiPrvKEUK%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;1306&quot; height=&quot;866&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;866&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;1292&quot; data-origin-height=&quot;260&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XYQk1/btsrYV6bmy3/Zk5Khp22QxSxKpQrQsrubk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XYQk1/btsrYV6bmy3/Zk5Khp22QxSxKpQrQsrubk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XYQk1/btsrYV6bmy3/Zk5Khp22QxSxKpQrQsrubk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXYQk1%2FbtsrYV6bmy3%2FZk5Khp22QxSxKpQrQsrubk%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;1292&quot; height=&quot;260&quot; data-origin-width=&quot;1292&quot; data-origin-height=&quot;260&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;a href=&quot;https://leetcode.com/problems/majority-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692849463961&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;Majority Element - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Majority Element - Given an array nums of size n, return the majority element. The majority element is the element that appears more than &amp;lfloor;n / 2&amp;rfloor; times. You may assume that the majority element always exists &quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/majority-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; data-og-url=&quot;https://leetcode.com/problems/majority-element/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jpnvp/hyTIDiFeH9/4nxF1cwVJbwYScRsvuDugK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/majority-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/majority-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jpnvp/hyTIDiFeH9/4nxF1cwVJbwYScRsvuDugK/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Majority Element - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Majority Element - Given an array nums of size n, return the majority element. The majority element is the element that appears more than &amp;lfloor;n / 2&amp;rfloor; times. You may assume that the majority element always exists&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;배열의 요소를 하나씩 순회하며 .count() 메서드로 비교하는 로직을 처음에 생각했다&lt;/li&gt;
&lt;li&gt;변수 answer를 0으로 초기화 해서 배열의 각 요소 값의 개수와 배열의 answer 값의 개수를 비교해서 answer 보다 많으면 answer에 넣고 아니면 패스하는 형식이다&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692862535034&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def majorityElement(self, nums: List[int]) -&amp;gt; int:
        answer = 0
        for i in range(len(nums)):
            if nums.count(nums[i]) &amp;gt;= nums.count(answer):
                answer = nums[i]
        return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이렇게 하니까 시간초과가 떴다&lt;/li&gt;
&lt;li&gt;최대길이의 1 아니면 2로 가득 찬 배열인 경우에 모든 요소를 count() 해서 그런 것 같다&lt;/li&gt;
&lt;li&gt;이제 count를 한 번 하면 해당 요소를 삭제하는 방식으로 ,,, 하면 안 되겠구나 해당 요소가 전부 삭제되는 게 아니니까&lt;/li&gt;
&lt;li&gt;그럼 방법을 바꿔서 배열에 set()함수를 이용해서 값을 구해야 하는 요소들을 추출해서 새로운 집합을 만든 다음 그 집합을 for문에 돌려서 nums에 있는 해당 값들을 count 해서 각각 비교해야겠다&lt;/li&gt;
&lt;li&gt;오 테스트 통과~&lt;/li&gt;
&lt;li&gt;근데 공간복잡도에서 별로 좋은 점수를 못 받았다&lt;/li&gt;
&lt;li&gt;새로운 변수를 생성하지 않고 구하는 방법도 있나보군&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 풀이/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692862935418&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def majorityElement(self, nums: List[int]) -&amp;gt; int:
        answer = 0
        nums_set = set(nums)
        for num in nums_set:
            if nums.count(num) &amp;gt;= nums.count(answer):
                answer = num
        return answer&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;928&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/w0oZ0/btssaCxdDwA/KMsZSCt9hBgTO9tzd1Usjk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/w0oZ0/btssaCxdDwA/KMsZSCt9hBgTO9tzd1Usjk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/w0oZ0/btssaCxdDwA/KMsZSCt9hBgTO9tzd1Usjk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw0oZ0%2FbtssaCxdDwA%2FKMsZSCt9hBgTO9tzd1Usjk%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;1280&quot; height=&quot;928&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;928&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 정렬을 활용한 방법&lt;/h3&gt;
&lt;pre id=&quot;code_1692863103682&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def majorityElement(self, nums: List[int]) -&amp;gt; int:
        nums.sort()
        n = len(nums)
        return nums[n//2]&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;와 이게 뭐지&lt;/li&gt;
&lt;li&gt;배열의 중간 인덱스에 해당하는 요소가 정답인건가...&lt;/li&gt;
&lt;li&gt;진짜 어떻게 이런 생각을 하지?&lt;/li&gt;
&lt;li&gt;[1,1,2,2,3,3,4,4,5,5,5]&lt;/li&gt;
&lt;li&gt;이러면 답이 안 되는 거 아닌가??&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;1104&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R6pQj/btssaCYjeY7/qr42KK6L18eRhIy2Nkw3H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R6pQj/btssaCYjeY7/qr42KK6L18eRhIy2Nkw3H1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R6pQj/btssaCYjeY7/qr42KK6L18eRhIy2Nkw3H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR6pQj%2FbtssaCYjeY7%2Fqr42KK6L18eRhIy2Nkw3H1%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;1086&quot; height=&quot;1104&quot; data-origin-width=&quot;1086&quot; data-origin-height=&quot;1104&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;문제를 잘 읽자222222(휴...)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- hashmap을 활용한 방법&lt;/h3&gt;
&lt;pre id=&quot;code_1692863158278&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def majorityElement(self, nums: List[int]) -&amp;gt; int:
        n = len(nums)
        m = defaultdict(int)
        
        for num in nums:
            m[num] += 1
        
        n = n // 2
        for key, value in m.items():
            if value &amp;gt; n:
                return key
        
        return 0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;오...코드는 이해가 가는데 hashmap이 뭘까&lt;/li&gt;
&lt;li&gt;아 hashmap은 해싱(임의의&amp;nbsp;길이를&amp;nbsp;가진&amp;nbsp;데이터를&amp;nbsp;고정된&amp;nbsp;길이의&amp;nbsp;데이터로&amp;nbsp;매핑시키는&amp;nbsp;과정)을 기반으로 하는 자료구조인데, 파이썬에서는 dictionary가 hashmap 자료구조를 따른다&lt;/li&gt;
&lt;li&gt;딕셔너리를 탐색, 삽입, 삭제&lt;/li&gt;
&lt;li&gt;문제를 읽고 잘 이해했다면 나는 딕셔너리를 활용했을 것 같다&lt;/li&gt;
&lt;li&gt;출처&lt;a href=&quot;https://bohyeon-n.github.io/deploy/cs/hashmap.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://growth-coder.tistory.com/112&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1692864233123&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;HashMap |  구보현 블로그&quot; data-og-description=&quot;HashMap 20200223 HashMap이란? 출처: Wikipedia - hash table HashMap은 키를 배열의 인덱스로 사용하여 키 i와 i번째 배열 항목을 연관시켜 저장하는 데이터 구조이다. 키값으로 데이터에 한 번에 접근할 수 있&quot; data-og-host=&quot;bohyeon-n.github.io&quot; data-og-source-url=&quot;https://bohyeon-n.github.io/deploy/cs/hashmap.html&quot; data-og-url=&quot;https://bohyeon-n.github.io/deploy/cs/hashmap.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://bohyeon-n.github.io/deploy/cs/hashmap.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://bohyeon-n.github.io/deploy/cs/hashmap.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&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;HashMap | 구보현 블로그&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;HashMap 20200223 HashMap이란? 출처: Wikipedia - hash table HashMap은 키를 배열의 인덱스로 사용하여 키 i와 i번째 배열 항목을 연관시켜 저장하는 데이터 구조이다. 키값으로 데이터에 한 번에 접근할 수 있&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;bohyeon-n.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1692864230983&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Python][자료구조] HashMap과 TreeMap, HashSet과 TreeSet&quot; data-og-description=&quot;HashMap(dictionary) HaspMap은 해싱을 기반으로 하는 자료구조이고 파이썬에서는 dictionary라는 HashMap이 존재한다. HashMap은 key-value 쌍으로 값을 저장하는 자료구조이고 해싱을 기반으로 하기 때문에 탐&quot; data-og-host=&quot;growth-coder.tistory.com&quot; data-og-source-url=&quot;https://growth-coder.tistory.com/112&quot; data-og-url=&quot;https://growth-coder.tistory.com/112&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bRZdQ5/hyTIDpx24B/WCopEKCTQPgbhaI6eZdLaK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bUSpP0/hyTIJDjMAu/I6eOHonEGG2xd8NVcgt5q0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://growth-coder.tistory.com/112&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://growth-coder.tistory.com/112&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bRZdQ5/hyTIDpx24B/WCopEKCTQPgbhaI6eZdLaK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/bUSpP0/hyTIJDjMAu/I6eOHonEGG2xd8NVcgt5q0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&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;[Python][자료구조] HashMap과 TreeMap, HashSet과 TreeSet&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;HashMap(dictionary) HaspMap은 해싱을 기반으로 하는 자료구조이고 파이썬에서는 dictionary라는 HashMap이 존재한다. HashMap은 key-value 쌍으로 값을 저장하는 자료구조이고 해싱을 기반으로 하기 때문에 탐&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;growth-coder.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- Moore&amp;nbsp;Voting&amp;nbsp;Algorithm&lt;/h3&gt;
&lt;pre id=&quot;code_1692863198989&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def majorityElement(self, nums: List[int]) -&amp;gt; int:
        count = 0
        candidate = 0
        
        for num in nums:
            if count == 0:
                candidate = num
            
            if num == candidate:
                count += 1
            else:
                count -= 1
        
        return candidate&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이 방법은 어떻게 정답에 이르는 걸까&lt;/li&gt;
&lt;li&gt;정답 요소가 배열의 과반수를 차지하고 있다면 candidate에 들어갈 확률이 높은 건가&lt;/li&gt;
&lt;li&gt;이건 확률 문제는 아닌데&lt;/li&gt;
&lt;li&gt;어떻게 정답이 candidate에 들어가는거지&lt;/li&gt;
&lt;li&gt;배열이 [6,5,5]일 때, num==6일 때 count가 0이니까 candidate==6이 되고, 다음 if문으로 넘어가서 num==6, candidate==6이니까 count==1, 다음 num==5일 때, num != candidate니까 count는 다시 0, 마지막 num==5일 때 count가 0이니까 candidate에는 5가 들어가고 헐..! 진짜 답이 되네&lt;/li&gt;
&lt;li&gt;이런 생각은 도대체 어떻게 하는거야..!&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/333</guid>
      <comments>https://guco.tistory.com/333#entry333comment</comments>
      <pubDate>Thu, 24 Aug 2023 17:26:27 +0900</pubDate>
    </item>
    <item>
      <title>230823 알고리즘 문제 풀이 [TIL]</title>
      <link>https://guco.tistory.com/332</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;오늘 한 일/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 알고리즘 문제 풀이&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/329&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/329&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/330&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/330&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/331&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/331&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;생각보다 많이 푼 듯?!&lt;/li&gt;
&lt;li&gt;내일은 더 열심히 풀어야겠네,,,5문제 남음&lt;/li&gt;
&lt;li&gt;근데 이것도 이렇게 걸리면 더 어려운 문제들은 기한 안에 다 못 풀겠는걸...?&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1692776793628&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Remove Element&quot; data-og-description=&quot;문제링크 Remove Element - LeetCode Can you solve this real interview question? Remove Element - Given an integer array nums and an integer val, remove all occurrences of val in nums in-place [https://en.wikipedia.org/wiki/In-place_algorithm]. The order&quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/329&quot; data-og-url=&quot;https://guco.tistory.com/329&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bULjVr/hyTIGzm1QX/eYjbE1b6qexdcx3a0k2P11/img.png?width=800&amp;amp;height=337&amp;amp;face=0_0_800_337,https://scrap.kakaocdn.net/dn/bxeZ6y/hyTILAFHis/qgkhn8lUsD5ShxyeIc84Jk/img.png?width=800&amp;amp;height=337&amp;amp;face=0_0_800_337,https://scrap.kakaocdn.net/dn/J8X0D/hyTIGlR5dr/dm0HMs8khhio0xCsTKdcP1/img.png?width=1570&amp;amp;height=1054&amp;amp;face=0_0_1570_1054&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/329&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/329&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bULjVr/hyTIGzm1QX/eYjbE1b6qexdcx3a0k2P11/img.png?width=800&amp;amp;height=337&amp;amp;face=0_0_800_337,https://scrap.kakaocdn.net/dn/bxeZ6y/hyTILAFHis/qgkhn8lUsD5ShxyeIc84Jk/img.png?width=800&amp;amp;height=337&amp;amp;face=0_0_800_337,https://scrap.kakaocdn.net/dn/J8X0D/hyTIGlR5dr/dm0HMs8khhio0xCsTKdcP1/img.png?width=1570&amp;amp;height=1054&amp;amp;face=0_0_1570_1054');&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;[코테] Remove Element&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제링크 Remove Element - LeetCode Can you solve this real interview question? Remove Element - Given an integer array nums and an integer val, remove all occurrences of val in nums in-place [https://en.wikipedia.org/wiki/In-place_algorithm]. The order&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1692776791172&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Remove Duplicates from Sorted Array&quot; data-og-description=&quot;문제링크 Remove Duplicates from Sorted Array - LeetCode Can you solve this real interview question? Remove Duplicates from Sorted Array - Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place [https://en.wikipedia.o&quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/330&quot; data-og-url=&quot;https://guco.tistory.com/330&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bLkYIA/hyTIP39TdU/kudV4T1tQtkHZOjFKnzvbK/img.png?width=800&amp;amp;height=338&amp;amp;face=0_0_800_338,https://scrap.kakaocdn.net/dn/dvTtUe/hyTIJiyRoc/7bjL1EOWRrCzxUuSQuNb70/img.png?width=800&amp;amp;height=338&amp;amp;face=0_0_800_338,https://scrap.kakaocdn.net/dn/dwTLCe/hyTIL1K4ia/vUFXknqTZ2qyEm6vzgzkK0/img.png?width=1540&amp;amp;height=1120&amp;amp;face=0_0_1540_1120&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/330&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/330&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bLkYIA/hyTIP39TdU/kudV4T1tQtkHZOjFKnzvbK/img.png?width=800&amp;amp;height=338&amp;amp;face=0_0_800_338,https://scrap.kakaocdn.net/dn/dvTtUe/hyTIJiyRoc/7bjL1EOWRrCzxUuSQuNb70/img.png?width=800&amp;amp;height=338&amp;amp;face=0_0_800_338,https://scrap.kakaocdn.net/dn/dwTLCe/hyTIL1K4ia/vUFXknqTZ2qyEm6vzgzkK0/img.png?width=1540&amp;amp;height=1120&amp;amp;face=0_0_1540_1120');&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;[코테] Remove Duplicates from Sorted Array&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제링크 Remove Duplicates from Sorted Array - LeetCode Can you solve this real interview question? Remove Duplicates from Sorted Array - Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place [https://en.wikipedia.o&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;figure id=&quot;og_1692776787291&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Remove Duplicates from Sorted Array II&quot; data-og-description=&quot;문제링크 Remove Duplicates from Sorted Array II - LeetCode Can you solve this real interview question? Remove Duplicates from Sorted Array II - Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place [https://en.wiki&quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/331&quot; data-og-url=&quot;https://guco.tistory.com/331&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cIT2MH/hyTIQ9QP7N/G60I8mKqoY5RC1L0yjKEpk/img.png?width=800&amp;amp;height=435&amp;amp;face=0_0_800_435,https://scrap.kakaocdn.net/dn/blzqJa/hyTICKu4yX/1EzBi5mLXm7zVLrYqQEFo0/img.png?width=800&amp;amp;height=435&amp;amp;face=0_0_800_435,https://scrap.kakaocdn.net/dn/jsusi/hyTIJCTEi7/NrffGL2tNQAvYNawZmbfwk/img.png?width=2384&amp;amp;height=1058&amp;amp;face=0_0_2384_1058&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/331&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/331&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cIT2MH/hyTIQ9QP7N/G60I8mKqoY5RC1L0yjKEpk/img.png?width=800&amp;amp;height=435&amp;amp;face=0_0_800_435,https://scrap.kakaocdn.net/dn/blzqJa/hyTICKu4yX/1EzBi5mLXm7zVLrYqQEFo0/img.png?width=800&amp;amp;height=435&amp;amp;face=0_0_800_435,https://scrap.kakaocdn.net/dn/jsusi/hyTIJCTEi7/NrffGL2tNQAvYNawZmbfwk/img.png?width=2384&amp;amp;height=1058&amp;amp;face=0_0_2384_1058');&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;[코테] Remove Duplicates from Sorted Array II&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제링크 Remove Duplicates from Sorted Array II - LeetCode Can you solve this real interview question? Remove Duplicates from Sorted Array II - Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place [https://en.wiki&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;느낀 점/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이제 프로그래머스 풀 시간은 없을 것 같고 원티드 인턴십으로 릿코드를 많이 풀게 될 것 같다&lt;/li&gt;
&lt;li&gt;릿코드는 깃허브에 자동커밋이 돼서 참 좋다&lt;/li&gt;
&lt;li&gt;근데 문제를 여러가지 방법으로 풀었을 때 그 풀이들을 전부 올릴 수 없고 계속 덮어씌워져서 그건 좀 아쉽다&lt;/li&gt;
&lt;li&gt;일단 이번 주는 인턴십 처음이니까 인턴십에만 집중하고 담주부터는 따로 다시 기업에 서류도 넣고 이력서도 다듬고 해야겠다&lt;/li&gt;
&lt;li&gt;아자아자!!&lt;/li&gt;
&lt;li&gt;근데 나 대기업은 못 갈 거 같은데 알고리즘에 집중하는 거....옳은 선택일까?&lt;/li&gt;
&lt;li&gt;일단 컴퓨팅적 사고가 부족하니 알고리즘/자료구조를 집중해서 공부하는 것도 좋을 것 같긴 하다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;내일 목표/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;알고리즘 문제 풀이&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>개발일지/Today I Learned</category>
      <category>til</category>
      <category>개발일지</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/332</guid>
      <comments>https://guco.tistory.com/332#entry332comment</comments>
      <pubDate>Wed, 23 Aug 2023 16:49:48 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Remove Duplicates from Sorted Array II</title>
      <link>https://guco.tistory.com/331</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1290&quot; data-origin-height=&quot;702&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9AS02/btsr4kcxDxp/ARxLhInlkFJIWZft6Tvfk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9AS02/btsr4kcxDxp/ARxLhInlkFJIWZft6Tvfk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9AS02/btsr4kcxDxp/ARxLhInlkFJIWZft6Tvfk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9AS02%2Fbtsr4kcxDxp%2FARxLhInlkFJIWZft6Tvfk0%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;1290&quot; height=&quot;702&quot; data-origin-width=&quot;1290&quot; data-origin-height=&quot;702&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;1228&quot; data-origin-height=&quot;674&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bHFhMv/btsrYKccKL7/WrYZAzdWz0EbKWX8RYbJV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bHFhMv/btsrYKccKL7/WrYZAzdWz0EbKWX8RYbJV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bHFhMv/btsrYKccKL7/WrYZAzdWz0EbKWX8RYbJV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHFhMv%2FbtsrYKccKL7%2FWrYZAzdWz0EbKWX8RYbJV0%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;1228&quot; height=&quot;674&quot; data-origin-width=&quot;1228&quot; data-origin-height=&quot;674&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;1310&quot; data-origin-height=&quot;660&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bguXfI/btsrYS2bVdT/JaJ2AiXTKTNYR7piG4qf6k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bguXfI/btsrYS2bVdT/JaJ2AiXTKTNYR7piG4qf6k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bguXfI/btsrYS2bVdT/JaJ2AiXTKTNYR7piG4qf6k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbguXfI%2FbtsrYS2bVdT%2FJaJ2AiXTKTNYR7piG4qf6k%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;1310&quot; height=&quot;660&quot; data-origin-width=&quot;1310&quot; data-origin-height=&quot;660&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;1304&quot; data-origin-height=&quot;1066&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baoLOt/btsrZEo8hin/tgKBxIsilgpDgiuM6A7sc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baoLOt/btsrZEo8hin/tgKBxIsilgpDgiuM6A7sc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baoLOt/btsrZEo8hin/tgKBxIsilgpDgiuM6A7sc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaoLOt%2FbtsrZEo8hin%2FtgKBxIsilgpDgiuM6A7sc0%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;1304&quot; height=&quot;1066&quot; data-origin-width=&quot;1304&quot; data-origin-height=&quot;1066&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;a href=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692772091595&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;Remove Duplicates from Sorted Array II - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Remove Duplicates from Sorted Array II - Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place [https://en.wikipedia.org/wiki/In-place_algorithm] such that each unique elemen&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; data-og-url=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cv1ufo/hyTIP38daG/u2FahmtKDoYhulTGLACra0/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cv1ufo/hyTIP38daG/u2FahmtKDoYhulTGLACra0/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Remove Duplicates from Sorted Array II - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Remove Duplicates from Sorted Array II - Given an integer array nums sorted in non-decreasing order, remove some duplicates in-place [https://en.wikipedia.org/wiki/In-place_algorithm] such that each unique elemen&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;음..일단 nums를 for문으로 돌려서 각 요소의 개수를 세서 2보다 크면 해당 요소 중 가장 뒤에 있는 인덱스에서 빠지도록 pop을 했는데 예시만 통과한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2384&quot; data-origin-height=&quot;1058&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xKeCd/btsrYA1L5Iu/Bb4JnPh4gSp80AQ009DmK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xKeCd/btsrYA1L5Iu/Bb4JnPh4gSp80AQ009DmK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xKeCd/btsrYA1L5Iu/Bb4JnPh4gSp80AQ009DmK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxKeCd%2FbtsrYA1L5Iu%2FBb4JnPh4gSp80AQ009DmK0%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;2384&quot; height=&quot;1058&quot; data-origin-width=&quot;2384&quot; data-origin-height=&quot;1058&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;pop()에 괄호에 들어가는 게 인덱스인가보다..!&lt;/li&gt;
&lt;li&gt;그 값이 삭제되는 건 remove()밖에 안 되나?&lt;/li&gt;
&lt;li&gt;nums를 맨 뒤 인덱스부터 순환하고 해당 요소가 2보다 클 때 remove(해당요소) 했더니 테스트 통과했다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 풀이/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692773109229&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        for num in nums[::-1]:
            if nums.count(num) &amp;gt; 2:
                nums.remove(num)
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;1018&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lU6W1/btsr4J4qMhF/MJPwIZqgKyAQaqk2gPDyN0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lU6W1/btsr4J4qMhF/MJPwIZqgKyAQaqk2gPDyN0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lU6W1/btsr4J4qMhF/MJPwIZqgKyAQaqk2gPDyN0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlU6W1%2Fbtsr4J4qMhF%2FMJPwIZqgKyAQaqk2gPDyN0%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;1278&quot; height=&quot;1018&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;1018&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;아니 이런 점수....충격적인데...?&lt;/li&gt;
&lt;li&gt;매번 count메서드를 사용하는 게 시간복잡도를 올린 것인가&lt;/li&gt;
&lt;li&gt;근데 공간복잡도는 왜......?&lt;/li&gt;
&lt;li&gt;이런저런 거 할당하지 않은 것 같은데..어디서 잘못된 거야,,,&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이1&lt;/h3&gt;
&lt;pre id=&quot;code_1692773357356&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution(object):
    def removeDuplicates(self, nums):
        k = 0
        for i in nums:
            if k &amp;lt; 2 or i != nums[k - 2]:
                nums[k] = i
                k += 1
        return k&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;진짜 인덱스 가지고 노는 거는 왜케 이해가 안 되지..&lt;/li&gt;
&lt;li&gt;뭔가 하나씩 정렬을 하고 값이 2개가 되면 다음 숫자를 넣는 그런 방식인 거 같은데 완벽하게 이해가 되지는 않는다,,,&lt;/li&gt;
&lt;li&gt;근데 이것도 시간복잡도, 공간복잡도는 나랑 비슷하네&lt;/li&gt;
&lt;li&gt;Time:&amp;nbsp;73&amp;nbsp;ms&amp;nbsp;(25.06%),&amp;nbsp;Space:&amp;nbsp;16.4&amp;nbsp;MB&amp;nbsp;(14.68%)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이2&lt;/h3&gt;
&lt;pre id=&quot;code_1692773392104&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        for i in range(len(nums)-2,0,-1):
            if(nums[i]==nums[i-1] and nums[i]==nums[i+1]):
                nums.pop(i+1)
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이건 nums를 거꾸로 순회하면서 앞뒤로 같은 숫자가 있으면 해당 숫자의 다음 숫자를 없애는 것 같다&lt;/li&gt;
&lt;li&gt;여튼 이것도 인덱스로 갖고 노는 거네&lt;/li&gt;
&lt;li&gt;어렵다,,&lt;/li&gt;
&lt;li&gt;이게 좀 빠른 풀이군......흠....&lt;/li&gt;
&lt;li&gt;Time:&amp;nbsp;54&amp;nbsp;ms&amp;nbsp;(89.93%),&amp;nbsp;Space:&amp;nbsp;16.3&amp;nbsp;MB&amp;nbsp;(52.70%)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/331</guid>
      <comments>https://guco.tistory.com/331#entry331comment</comments>
      <pubDate>Wed, 23 Aug 2023 15:54:22 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Remove Duplicates from Sorted Array</title>
      <link>https://guco.tistory.com/330</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1516&quot; data-origin-height=&quot;642&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cNdosl/btsrYUFnHTo/9fsK6o6xY8J9D4P6Aq25ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cNdosl/btsrYUFnHTo/9fsK6o6xY8J9D4P6Aq25ek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cNdosl/btsrYUFnHTo/9fsK6o6xY8J9D4P6Aq25ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcNdosl%2FbtsrYUFnHTo%2F9fsK6o6xY8J9D4P6Aq25ek%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;1516&quot; height=&quot;642&quot; data-origin-width=&quot;1516&quot; data-origin-height=&quot;642&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;1492&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IUDRz/btsr0XBBs6t/1bsXG6qgZNOPazKfHCatS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IUDRz/btsr0XBBs6t/1bsXG6qgZNOPazKfHCatS1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IUDRz/btsr0XBBs6t/1bsXG6qgZNOPazKfHCatS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIUDRz%2Fbtsr0XBBs6t%2F1bsXG6qgZNOPazKfHCatS1%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;1492&quot; height=&quot;648&quot; data-origin-width=&quot;1492&quot; data-origin-height=&quot;648&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;1522&quot; data-origin-height=&quot;960&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/trhLb/btsrYK3XRmx/8KTwpuGKOZxSCAruZwTGCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/trhLb/btsrYK3XRmx/8KTwpuGKOZxSCAruZwTGCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/trhLb/btsrYK3XRmx/8KTwpuGKOZxSCAruZwTGCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtrhLb%2FbtsrYK3XRmx%2F8KTwpuGKOZxSCAruZwTGCk%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;1522&quot; height=&quot;960&quot; data-origin-width=&quot;1522&quot; data-origin-height=&quot;960&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;a href=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692764240433&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;Remove Duplicates from Sorted Array - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Remove Duplicates from Sorted Array - Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place [https://en.wikipedia.org/wiki/In-place_algorithm] such that each unique element ap&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; data-og-url=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cV4pq9/hyTIJW6VXy/SQuHKk6AVl2wm7dD6mrlH1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/remove-duplicates-from-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cV4pq9/hyTIJW6VXy/SQuHKk6AVl2wm7dD6mrlH1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Remove Duplicates from Sorted Array - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Remove Duplicates from Sorted Array - Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place [https://en.wikipedia.org/wiki/In-place_algorithm] such that each unique element ap&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;중복을 제거하는 일이군&lt;/li&gt;
&lt;li&gt;set 함수를 사용해야겠어&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692766313757&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        result = set(nums)
        return len(result)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;왜 안 되지...?&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692766546312&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums):
        result = set(nums)
        print(result)
        return len(result)
    
print(Solution().removeDuplicates([0,0,1,1,1,2,2,3,3,4]))
# 출력화면
# set([0, 1, 2, 3, 4])
# 5&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;vscode에서 해보면 되는데...&lt;/li&gt;
&lt;li&gt;set함수를 사용하지 않고 풀라는건가?&lt;/li&gt;
&lt;li&gt;음 그러면...&lt;/li&gt;
&lt;li&gt;result라는 빈 리스트를 생성해서 nums를 for문에 돌리면서 result에 해당 요소가 없으면 추가하고 있으면 그냥 지나치는 로직을 짜면 될 것 같다&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692767866768&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        result = []
        for num in nums:
            if num not in result:
                result.append(num)
        return len(result)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;또 문제를 잘못 읽은 건가..?&lt;/li&gt;
&lt;li&gt;이렇게 했는데도 틀렸다&lt;/li&gt;
&lt;li&gt;output이 [1,1]로 나온다..&lt;/li&gt;
&lt;li&gt;아 중복된 요소를 제거한 후의 요소 개수를 리턴하는 것 말고도 nums 원본 배열 자체를 바꿔야 하는 건가?&lt;/li&gt;
&lt;li&gt;그럼 배열의 모든 요소를 바꿀 수 있게 nums[:]로 수정을 하고, set() 함수 바깥에 list()를 씌워서 리스트타입으로 다시 변환해야겠다&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692768037192&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        nums[:] = list(set(nums))
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이렇게 수정했는데 다른 테스트에서 틀렸다&lt;/li&gt;
&lt;li&gt;set()함수가 실행되면서 오름차순을 위반했다&lt;/li&gt;
&lt;li&gt;왜 순서가 바뀌는지는 모르겠지만 마지막에 nums.sort()를 해줘야 할 것 같다&lt;/li&gt;
&lt;li&gt;드디어 통과..!&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 풀이/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692767757005&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        nums[:] = list(set(nums))
        nums.sort()
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;1120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dloaI6/btsrTqFhVqb/5z9j7f7HaSvAlgWYGL44M1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dloaI6/btsrTqFhVqb/5z9j7f7HaSvAlgWYGL44M1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dloaI6/btsrTqFhVqb/5z9j7f7HaSvAlgWYGL44M1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdloaI6%2FbtsrTqFhVqb%2F5z9j7f7HaSvAlgWYGL44M1%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;1540&quot; height=&quot;1120&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;1120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이1&lt;/h3&gt;
&lt;pre id=&quot;code_1692768192188&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        j = 1
        for i in range(1, len(nums)):
            if nums[i] != nums[i - 1]:
                nums[j] = nums[i]
                j += 1
        return j&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;인덱스 풀이는 머릿속에서 잘 안 그려져서 어려운 것 같다&lt;/li&gt;
&lt;li&gt;인덱스 0과 1을 비교하고, 1과 2를 비교하고, 2와 3을 비교하고 이런 식인가보군??&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이2&lt;/h3&gt;
&lt;pre id=&quot;code_1692768222100&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeDuplicates(self, nums: List[int]) -&amp;gt; int:
        nums[:] = sorted(set(nums))
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;아 나도 sort() 메서드 말고 sorted() 함수 썼으면 딱이네&lt;/li&gt;
&lt;li&gt;오 근데 list()로 안 감싸도 되나보네~&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/330</guid>
      <comments>https://guco.tistory.com/330#entry330comment</comments>
      <pubDate>Wed, 23 Aug 2023 15:19:35 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Remove Element</title>
      <link>https://guco.tistory.com/329</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1528&quot; data-origin-height=&quot;644&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bT61r0/btsrUo7ZMNy/KWYkIDhqYGVRN8pK5iIXh0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bT61r0/btsrUo7ZMNy/KWYkIDhqYGVRN8pK5iIXh0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bT61r0/btsrUo7ZMNy/KWYkIDhqYGVRN8pK5iIXh0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbT61r0%2FbtsrUo7ZMNy%2FKWYkIDhqYGVRN8pK5iIXh0%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;1528&quot; height=&quot;644&quot; data-origin-width=&quot;1528&quot; data-origin-height=&quot;644&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;1538&quot; data-origin-height=&quot;732&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chl6a7/btsrR4WC6bN/80Iu1CSKkBqP65B1kKqizk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chl6a7/btsrR4WC6bN/80Iu1CSKkBqP65B1kKqizk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chl6a7/btsrR4WC6bN/80Iu1CSKkBqP65B1kKqizk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fchl6a7%2FbtsrR4WC6bN%2F80Iu1CSKkBqP65B1kKqizk%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;1538&quot; height=&quot;732&quot; data-origin-width=&quot;1538&quot; data-origin-height=&quot;732&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;1546&quot; data-origin-height=&quot;1020&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bo8AfX/btsr0qX7h6h/oyBQk9vN1OsKLXZZqLpvY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bo8AfX/btsr0qX7h6h/oyBQk9vN1OsKLXZZqLpvY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bo8AfX/btsr0qX7h6h/oyBQk9vN1OsKLXZZqLpvY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbo8AfX%2Fbtsr0qX7h6h%2FoyBQk9vN1OsKLXZZqLpvY1%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;1546&quot; height=&quot;1020&quot; data-origin-width=&quot;1546&quot; data-origin-height=&quot;1020&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;a href=&quot;https://leetcode.com/problems/remove-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692764048115&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;Remove Element - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Remove Element - Given an integer array nums and an integer val, remove all occurrences of val in nums in-place [https://en.wikipedia.org/wiki/In-place_algorithm]. The order of the elements may be changed. Then r&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/remove-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; data-og-url=&quot;https://leetcode.com/problems/remove-element/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/SKqQC/hyTILm5Fi0/uHDLgE21wflJie1xwijLy1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/remove-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/remove-element/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/SKqQC/hyTILm5Fi0/uHDLgE21wflJie1xwijLy1/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Remove Element - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Remove Element - Given an integer array nums and an integer val, remove all occurrences of val in nums in-place [https://en.wikipedia.org/wiki/In-place_algorithm]. The order of the elements may be changed. Then r&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;흠...이것도 인덱스 놀이인가?&lt;/li&gt;
&lt;li&gt;근데 일단 내 방법대로 풀면 nums를 맨 뒤 인덱스부터 순환해서 val과 같은 요소가 있으면 remove 하고 for문이 다 돌면 변수 k에 nums의 길이를 담아 return 하는 건데......&lt;/li&gt;
&lt;li&gt;일단 그렇게 푸니 테스트 통과는 한다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 풀이/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692762885946&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeElement(self, nums: List[int], val: int) -&amp;gt; int:
        for num in nums[::-1]:
            if num == val:
                nums.remove(num)
        k = len(nums)
        return k&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1238&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kOHNT/btsr3dYxMiR/5ehHYldcZu4qVnEr06O8r1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kOHNT/btsr3dYxMiR/5ehHYldcZu4qVnEr06O8r1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kOHNT/btsr3dYxMiR/5ehHYldcZu4qVnEr06O8r1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkOHNT%2Fbtsr3dYxMiR%2F5ehHYldcZu4qVnEr06O8r1%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;1238&quot; height=&quot;264&quot; data-origin-width=&quot;1238&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이1&lt;/h3&gt;
&lt;pre id=&quot;code_1692762972279&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeElement(self, nums: List[int], val: int) -&amp;gt; int:
        index = 0
        for i in range(len(nums)):
            if nums[i] != val:
                nums[index] = nums[i]
                index += 1
        return index&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;시간복잡도: O(n) / 공간복잡도: O(1)&lt;/li&gt;
&lt;li&gt;아주 간단하군&lt;/li&gt;
&lt;li&gt;처음에 4번째줄대로 똑같이 썼었는데 그 다음에 어떻게 풀어야 할지 모르겠어서 지우고 배열 맨 뒤 인덱스부터 순회하는 방법으로 풀었다&lt;/li&gt;
&lt;li&gt;근데 이 풀이 채점해보니까 내 풀이보다 3ms 더 걸리네 ㅎ??&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1570&quot; data-origin-height=&quot;1054&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b3NrFE/btsrYTsUERA/ikpyREtIAAUeNWAewUt3r0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b3NrFE/btsrYTsUERA/ikpyREtIAAUeNWAewUt3r0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b3NrFE/btsrYTsUERA/ikpyREtIAAUeNWAewUt3r0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3NrFE%2FbtsrYTsUERA%2FikpyREtIAAUeNWAewUt3r0%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;1570&quot; height=&quot;1054&quot; data-origin-width=&quot;1570&quot; data-origin-height=&quot;1054&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이2&lt;/h3&gt;
&lt;pre id=&quot;code_1692763211687&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeElement(self, nums: List[int], val: int) -&amp;gt; int:

        nums[:] = [num for num in nums if num != val]
        
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;아...~ 굳이 변수 k 선언 안 하고 그냥 len(nums)를 리턴했어도 됐었지..!!!&lt;/li&gt;
&lt;li&gt;근데 nums[:]은 뭐지 배열 전체를 가리키는 건가&lt;/li&gt;
&lt;li&gt;그냥 nums 하면 안 되는거였나? -&amp;gt; 안 된다 ㅋㅋㅋ&lt;/li&gt;
&lt;li&gt;찾아보니 nums[:]는 nums 배열의 모든 요소를 선택함으로써 원본 배열을 수정하는 식이 되는거고, nums를 사용하면 nums라는 새로운 변수가 수정된 배열을 참조해서 원하는 값을 얻지 못한다는 거다&lt;/li&gt;
&lt;li&gt;변수명이 겹쳐서 그러나 싶어 nums1로 바꾸고 return 값도 len(nums1)로 바꿔봤는데 틀린다&lt;/li&gt;
&lt;li&gt;애초에 슬라이싱을 안 하면 배열에 [3,2,2,3]으로 했을 때 [3,2]가 나온다 (왜??!?)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1544&quot; data-origin-height=&quot;1114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byHVTZ/btsrS4IUoVi/b8IvapH65avNYkwepxpHcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byHVTZ/btsrS4IUoVi/b8IvapH65avNYkwepxpHcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byHVTZ/btsrS4IUoVi/b8IvapH65avNYkwepxpHcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyHVTZ%2FbtsrS4IUoVi%2Fb8IvapH65avNYkwepxpHcK%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;1544&quot; height=&quot;1114&quot; data-origin-width=&quot;1544&quot; data-origin-height=&quot;1114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;수정/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692763922397&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def removeElement(self, nums: List[int], val: int) -&amp;gt; int:
        for num in nums[::-1]:
            if num == val:
                nums.remove(num)
        return len(nums)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;천재풀이2를 보고 굳이 변수 k에 값을 담을 필요가 없을 것 같아서 바로 nums의 길이를 리턴하는 것으로 변경해보았다&lt;/li&gt;
&lt;li&gt;근데 실행시간은 수정한 풀이가 더 걸리네&lt;/li&gt;
&lt;li&gt;얼마 차이는 안 나지만..&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1538&quot; data-origin-height=&quot;1118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TfgYC/btsr0VqeMCK/576ru8KAdOIGLqfRoLcR81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TfgYC/btsr0VqeMCK/576ru8KAdOIGLqfRoLcR81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TfgYC/btsr0VqeMCK/576ru8KAdOIGLqfRoLcR81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTfgYC%2Fbtsr0VqeMCK%2F576ru8KAdOIGLqfRoLcR81%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;1538&quot; height=&quot;1118&quot; data-origin-width=&quot;1538&quot; data-origin-height=&quot;1118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/329</guid>
      <comments>https://guco.tistory.com/329#entry329comment</comments>
      <pubDate>Wed, 23 Aug 2023 13:13:44 +0900</pubDate>
    </item>
    <item>
      <title>230822 알고리즘 문제 풀이 [TIL]</title>
      <link>https://guco.tistory.com/327</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;오늘 한 일/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 도커 강의 수강&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;전에 다 못 들은 부분을 다 듣기는 했는데 정리를 못 했다&lt;/li&gt;
&lt;li&gt;한 번 쭉 듣고 실습하면서 정리할 예정..!!(이번 주 과제 다 하면!!)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 알고리즘 문제 풀이&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이제 프로그래머스가 아닌 릿코드에서 문제를 푼다&lt;/li&gt;
&lt;li&gt;문제가 영어로 돼있어서 문제를 이해하는 것부터 난관이다...&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://guco.tistory.com/328&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://guco.tistory.com/328&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure id=&quot;og_1692758858924&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[코테] Merge Sorted Array&quot; data-og-description=&quot;문제 링크 Merge Sorted Array - LeetCode Can you solve this real interview question? Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in &quot; data-og-host=&quot;guco.tistory.com&quot; data-og-source-url=&quot;https://guco.tistory.com/328&quot; data-og-url=&quot;https://guco.tistory.com/328&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bA6CR3/hyTIKPbOdX/KAQxNkTFc2I3xKyV3ZndJ1/img.png?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/3LWdQ/hyTIPCZWUu/NhiAa8tAOLVv3Cke8y4ykK/img.png?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/PIyni/hyTIPpqZXM/He2AZf8t0r6cH3H4cWN9f0/img.png?width=1572&amp;amp;height=1066&amp;amp;face=0_0_1572_1066&quot;&gt;&lt;a href=&quot;https://guco.tistory.com/328&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://guco.tistory.com/328&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bA6CR3/hyTIKPbOdX/KAQxNkTFc2I3xKyV3ZndJ1/img.png?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/3LWdQ/hyTIPCZWUu/NhiAa8tAOLVv3Cke8y4ykK/img.png?width=800&amp;amp;height=684&amp;amp;face=0_0_800_684,https://scrap.kakaocdn.net/dn/PIyni/hyTIPpqZXM/He2AZf8t0r6cH3H4cWN9f0/img.png?width=1572&amp;amp;height=1066&amp;amp;face=0_0_1572_1066');&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;[코테] Merge Sorted Array&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;문제 링크 Merge Sorted Array - LeetCode Can you solve this real interview question? Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;guco.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;느낀 점/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;프로그래머스만 풀다가 릿코드 풀려고 하니 어렵다&lt;/li&gt;
&lt;li&gt;일단 문제가 영어라,,,,,,울렁울렁....&lt;/li&gt;
&lt;li&gt;이 또한 수련의 과정이겠지,,,,,&lt;/li&gt;
&lt;li&gt;그나저나 깃허브에 자동 커밋 되는 확장 프로그램 설치했는데 안 된다 왜일까...내일 다시 해보자,,&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;내일 목표/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;원티드 인턴십 과제(알고리즘 문제 풀이)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>개발일지/Today I Learned</category>
      <category>til</category>
      <category>개발일지</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/327</guid>
      <comments>https://guco.tistory.com/327#entry327comment</comments>
      <pubDate>Tue, 22 Aug 2023 20:05:16 +0900</pubDate>
    </item>
    <item>
      <title>[코테] Merge Sorted Array</title>
      <link>https://guco.tistory.com/328</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;777&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zPf8C/btsrExZxKGp/Q2cfIme8JeHPtHlhuIKRz0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zPf8C/btsrExZxKGp/Q2cfIme8JeHPtHlhuIKRz0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zPf8C/btsrExZxKGp/Q2cfIme8JeHPtHlhuIKRz0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzPf8C%2FbtsrExZxKGp%2FQ2cfIme8JeHPtHlhuIKRz0%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;908&quot; height=&quot;777&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;777&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;908&quot; data-origin-height=&quot;211&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgNVqm/btsrS2quQ3p/QKuSK4WNmoS2Fh6Kr5NCHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgNVqm/btsrS2quQ3p/QKuSK4WNmoS2Fh6Kr5NCHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgNVqm/btsrS2quQ3p/QKuSK4WNmoS2Fh6Kr5NCHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgNVqm%2FbtsrS2quQ3p%2FQKuSK4WNmoS2Fh6Kr5NCHk%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;908&quot; height=&quot;211&quot; data-origin-width=&quot;908&quot; data-origin-height=&quot;211&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;a href=&quot;https://leetcode.com/problems/merge-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;문제 링크&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1692702289207&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;Merge Sorted Array - LeetCode&quot; data-og-description=&quot;Can you solve this real interview question? Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums1 an&quot; data-og-host=&quot;leetcode.com&quot; data-og-source-url=&quot;https://leetcode.com/problems/merge-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; data-og-url=&quot;https://leetcode.com/problems/merge-sorted-array/description&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dK0WcY/hyTFlQUJzQ/7he337NWqJnAPDSbDYW900/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260&quot;&gt;&lt;a href=&quot;https://leetcode.com/problems/merge-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://leetcode.com/problems/merge-sorted-array/?envType=study-plan-v2&amp;amp;envId=top-interview-150&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dK0WcY/hyTFlQUJzQ/7he337NWqJnAPDSbDYW900/img.png?width=500&amp;amp;height=260&amp;amp;face=0_0_500_260');&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;Merge Sorted Array - LeetCode&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Can you solve this real interview question? Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums1 an&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;leetcode.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;로직 고민/&amp;gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;leetcode는 문제를 해석하는 것부터가 일이구나...!&lt;/li&gt;
&lt;li&gt;일단&amp;nbsp; nums1과 nums2를 extend 한 다음, 0을 삭제하고 .sort() 하면 될 것 같다&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692751536858&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -&amp;gt; None:
        &quot;&quot;&quot;
        Do not return anything, modify nums1 in-place instead.
        &quot;&quot;&quot;
        nums1.extend(nums2)
        for num in nums1:
            print(num)
            if num == 0:
                nums1.remove(num)
            print(nums1)
        nums1.sort()&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;근데 이렇게 하니까 0이 한 개 삭제되지 않는다&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692751565376&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1
[1, 2, 3, 0, 0, 0, 2, 5, 6]
2
[1, 2, 3, 0, 0, 0, 2, 5, 6]
3
[1, 2, 3, 0, 0, 0, 2, 5, 6]
0
[1, 2, 3, 0, 0, 2, 5, 6]
0
[1, 2, 3, 0, 2, 5, 6]
5
[1, 2, 3, 0, 2, 5, 6]
6
[1, 2, 3, 0, 2, 5, 6]&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;print로 찍어본 건데 인덱스 3 자리에 있는 0이 사라지면서 0이 한 칸씩 앞으로 왔는데 for문으로는 인덱스 4 자리에 가있어서 인덱스 4에 있다가 3으로 옮겨진 0이 삭제되지 않는 거였다&lt;/li&gt;
&lt;li&gt;그렇다면 맨 뒤 인덱스부터 순환하면 어떨까!! 라는 생각에&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1692752335035&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for num in nums1[::-1]:&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이렇게 수정하니 테스트를 통과했다!&lt;/li&gt;
&lt;li&gt;근데 채점을 하니 실패했다&lt;/li&gt;
&lt;li&gt;문제를 잘못 이해했군.. 0이 아예 없어야 하는 게 아니라 출력되는 리스트의 길이가 m+n인데 자리가 남으면 0으로 채우고 부족하면 그 길이만큼 0을 제거하는 것 같다&lt;/li&gt;
&lt;li&gt;while문 아래에 if문으로 nums1 길이가 m+n값보다 크면 0을 제거하고 작으면 0을 추가하고 같으면 break하고 마지막에 sort() 했더니 테스트를 통과했다&lt;/li&gt;
&lt;li&gt;근데 뭔가 좋은 풀이는 아닌 듯??&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;완성된 코드/&amp;gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1692753832151&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -&amp;gt; None:
        nums1.extend(nums2)
        while True:
            if len(nums1) &amp;gt; (m+n):
                nums1.remove(0)
            if len(nums1) &amp;lt; (m+n):
                nums1.append(0)
            if len(nums1) == (m+n):
                break
        nums1.sort()&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1572&quot; data-origin-height=&quot;1066&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Vx4XG/btsrZBrRBOc/szEoc7DjyKl9Zj7ctDtO5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Vx4XG/btsrZBrRBOc/szEoc7DjyKl9Zj7ctDtO5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Vx4XG/btsrZBrRBOc/szEoc7DjyKl9Zj7ctDtO5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVx4XG%2FbtsrZBrRBOc%2FszEoc7DjyKl9Zj7ctDtO5k%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;1572&quot; height=&quot;1066&quot; data-origin-width=&quot;1572&quot; data-origin-height=&quot;1066&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;lt;다른 사람 풀이/&amp;gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이1&lt;/h3&gt;
&lt;pre id=&quot;code_1692754113113&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution(object):
    def merge(self, nums1, m, nums2, n):
      for j in range(n):
          nums1[m+j] = nums2[j]
      nums1.sort()&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;시간복잡도 : O((m+n)log(m+n)) / 공간복잡도: O(1)&lt;/li&gt;
&lt;li&gt;아 이런 간단한 방법이....&lt;/li&gt;
&lt;li&gt;아니 그럼 nums1 길이가 m보다 크면 인덱스 m부터는 0인거야..????&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djg1XJ/btsrZlW4sy7/purPwHCKp9tHYQRH9leR5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djg1XJ/btsrZlW4sy7/purPwHCKp9tHYQRH9leR5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djg1XJ/btsrZlW4sy7/purPwHCKp9tHYQRH9leR5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdjg1XJ%2FbtsrZlW4sy7%2FpurPwHCKp9tHYQRH9leR5k%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;1218&quot; height=&quot;224&quot; data-origin-width=&quot;1218&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;걍 진작 번역해서 풀 걸 그랬다..ㅎㅎ&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;- 천재풀이2&lt;/h3&gt;
&lt;pre id=&quot;code_1692754310937&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution(object):
    def merge(self, nums1, m, nums2, n):
        i = m - 1
        j = n - 1
        k = m + n - 1
        
        while j &amp;gt;= 0:
            if i &amp;gt;= 0 and nums1[i] &amp;gt; nums2[j]:
                nums1[k] = nums1[i]
                i -= 1
            else:
                nums1[k] = nums2[j]
                j -= 1
            k -= 1&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;시간복잡도 : O(m+n)&amp;nbsp;/ 공간복잡도: O(1)&lt;/li&gt;
&lt;li&gt;인덱스의 신이구만&lt;/li&gt;
&lt;li&gt;도통 무슨 말인지 모르겠는걸...&lt;/li&gt;
&lt;li&gt;그러고보니 이 풀이는 sort도 안 하네??&lt;/li&gt;
&lt;li&gt;if-else문에서 정렬을 하면서 merge하는 건가 보네&lt;/li&gt;
&lt;li&gt;여튼 배열 문제가 나오면 인덱스를 활용하는 것도 고려해야 공간복잡도를 간단하게 할 수 있는 것 같군&lt;/li&gt;
&lt;li&gt;아 또 문제에 있었네 nums1, 2는 오름차순으로 정렬되어 있다고,,,&lt;/li&gt;
&lt;li&gt;그래서 맨 뒤 인덱스부터 비교해서 값을 넣는거네!!&lt;/li&gt;
&lt;li&gt;근데 어떻게 이런 생각을 하는거지....&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Python/알고리즘 문제 풀이</category>
      <category>코딩테스트</category>
      <author>마이구미+</author>
      <guid isPermaLink="true">https://guco.tistory.com/328</guid>
      <comments>https://guco.tistory.com/328#entry328comment</comments>
      <pubDate>Tue, 22 Aug 2023 20:05:00 +0900</pubDate>
    </item>
  </channel>
</rss>