<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>주니어 개발자의 시작</title>
    <link>https://kkangna.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Mon, 25 May 2026 08:54:09 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>깡나용</managingEditor>
    <item>
      <title>level0_배열 회전시키기</title>
      <link>https://kkangna.tistory.com/171</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;920&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6zXtB/btsLeB05UM6/scivn6al0odkKkKB1x7hX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6zXtB/btsLeB05UM6/scivn6al0odkKkKB1x7hX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6zXtB/btsLeB05UM6/scivn6al0odkKkKB1x7hX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6zXtB%2FbtsLeB05UM6%2Fscivn6al0odkKkKB1x7hX0%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;711&quot; height=&quot;920&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;920&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733832228561&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(numbers, direction):
    answer = []
    if direction == &quot;right&quot;:
        answer.append(numbers[-1])  
        answer.extend(numbers[:-1])  
    else:
        
        answer.extend(numbers[1:])  
        answer.append(numbers[0])  
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;answer.extend(numbers[:-&lt;span&gt;1&lt;/span&gt;]) &lt;span&gt;# 나머지 요소들을 추가&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;answer.extend(numbers[&lt;span&gt;1&lt;/span&gt;:]) &lt;span&gt;# 첫 번째 요소를 제외한 나머지를 추가&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;나는 extend랑 append가 헷갈려서 정리차 적어보았다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733832474529&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;numbers = [1, 2, 3, 4]
answer = []

# extend 사용
answer.extend(numbers[1:])
print(answer)
# 출력: [2, 3, 4]  # 각 요소가 추가됨

# append 사용
answer.append(numbers[1:])
print(answer)
# 출력: [[2, 3, 4]]  # 리스트 자체가 추가됨&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드1&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733832549044&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(numbers, direction):
    return [numbers[-1]] + numbers[:-1] if direction == 'right' else numbers[1:] + [numbers[0]]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 줄로..도 가능하구낭...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 리스트끼리의 덧셈 ... 까먹고 있었다..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 주의사항은 리스트 덧셈은 새로운 리스트를 생성하기 때문에, 덧셈 연산이 많아지면 성능에 영향을 줄 수 있다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드2&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733832730350&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;from collections import deque

def solution(numbers, direction):
    numbers = deque(numbers)
    if direction == 'right':
        numbers.rotate(1)
    else:
        numbers.rotate(-1)
    return list(numbers)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;collections 모듈의 deque(덱)를 사용하여 리스트를 지정된 방향으로 간편하게 회전시키는 함수이다.&lt;/li&gt;
&lt;li&gt;numbers = deque(numbers)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서는 numbers 리스트를 덱으로 변환한다.&lt;/li&gt;
&lt;li&gt;덱은 &lt;b&gt;회전(rotate)&lt;/b&gt; 기능을 제공하므로, 리스트 회전 작업을 간단히 수행할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;numbers.rotate()
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;덱을 n칸 회전한다.&lt;/li&gt;
&lt;li&gt;n &amp;gt; 0: 오른쪽으로 n칸 이동&lt;/li&gt;
&lt;li&gt;n &amp;lt; 0: 왼쪽으로 n칸 이동.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우와 사람들 진짜... 똑똑하다. deque, rotate... 노트에 다시 기록해둬야겠다.&lt;/p&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/171</guid>
      <comments>https://kkangna.tistory.com/171#entry171comment</comments>
      <pubDate>Tue, 10 Dec 2024 21:15:30 +0900</pubDate>
    </item>
    <item>
      <title>level0_문자열 바꿔서 찾기</title>
      <link>https://kkangna.tistory.com/170</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;1030&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7CPca/btsLbNBPlky/7jxJzw28mDfhjInZjlgV1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7CPca/btsLbNBPlky/7jxJzw28mDfhjInZjlgV1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7CPca/btsLbNBPlky/7jxJzw28mDfhjInZjlgV1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7CPca%2FbtsLbNBPlky%2F7jxJzw28mDfhjInZjlgV1k%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;614&quot; height=&quot;1030&quot; data-origin-width=&quot;614&quot; data-origin-height=&quot;1030&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733751479404&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(myString, pat):
    my = &quot;&quot;
    for i in myString:
        if i == &quot;A&quot;:
            my += &quot;B&quot;
        else:
            my += &quot;A&quot;
    if pat in my:
        return 1
    else:   
        return 0&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;my는 변환된 문자열을 저장하기 위한 빈 문자열을 선언한다.&lt;/li&gt;
&lt;li&gt;현재 문자가 &quot;A&quot;인 경우, &quot;B&quot;로 변환하여 my에 추가한다.&lt;/li&gt;
&lt;li&gt;else
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;반대로 현자 문자가 &quot;B&quot;인 경우,&quot; A&quot;로 변환하여 my에 추가한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;if pat in transformed:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만약 변환된 문자열 my 안에 패턴 문자열 pat이 포함되어 있는 경우는 1을, 그렇지 않을 경우에는 0을 반환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733753661232&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(myString, pat):
    return int(pat in myString.replace('A', 'C').replace('B', 'A').replace('C', 'B'))&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;myString.replace('A', 'C')
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문자열의 모든 'A'를 'C'로 바꿔준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;.replace('B','A')
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 'B'를 'A'로 바꿔준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;.replace('C','B')
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 'C'를 'B'로 바꿔준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;pat in&amp;nbsp; 변환된 문자열:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;변환된 문자열에 pat이 포함되어 있으면 True(1), 포함되어 있지 않으면 False(0)를 반환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;근데 왜 a를 그냥 b로 바로 안바꾸고 c를 만들어 준 이유가 뭘까?&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 코드에서 문자 A를 B로 바로 바꾸지 않고 중간 단계로 C를 거치는 이유는 문자 간 변환 충돌을 방지하기 위해서이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1733831337630&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;myString = &quot;AB&quot;
# 의도한 변환
# A &amp;rarr; C &amp;rarr; B
# B &amp;rarr; A
# 결과: &quot;BA&quot;

# A &amp;rarr; B로 바로 바꿔본다면:
myString = &quot;AB&quot;
myString = myString.replace('A', 'B')  # &quot;BB&quot;
myString = myString.replace('B', 'A')  # &quot;AA&quot;
# 결과: &quot;AA&quot; (원래 의도한 변환 &quot;BA&quot;와 다름)&lt;/code&gt;&lt;/pre&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/170</guid>
      <comments>https://kkangna.tistory.com/170#entry170comment</comments>
      <pubDate>Tue, 10 Dec 2024 20:52:13 +0900</pubDate>
    </item>
    <item>
      <title>level0_주사위 게임1</title>
      <link>https://kkangna.tistory.com/169</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;777&quot; data-origin-height=&quot;1229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/APavq/btsK6w09i6f/Il4QGAUqKk1aPh1Qj3DrX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/APavq/btsK6w09i6f/Il4QGAUqKk1aPh1Qj3DrX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/APavq/btsK6w09i6f/Il4QGAUqKk1aPh1Qj3DrX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAPavq%2FbtsK6w09i6f%2FIl4QGAUqKk1aPh1Qj3DrX0%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;777&quot; height=&quot;1229&quot; data-origin-width=&quot;777&quot; data-origin-height=&quot;1229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733315466528&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(a, b):
    answer = 0
    if a % 2 ==1 and b % 2 ==1:
        answer += (a**2 + b**2)
    elif a % 2 == 1 or b % 2 ==1:
        answer += 2*(a+b)
    else:
        answer += abs(a - b)
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;조건1&lt;/b&gt;: 두 수가 모두 홀수인 경우 (a % 2 == 1 and b % 2 == 1)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 수의 제곱을 더한 값(a**2 + b**2)을 answer에 더한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;조건2&lt;/b&gt;: 두 수 중 하나만 홀수인 경우 (a % 2 == 1 or b % 2 == 1)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 수의 합에 2를 곱한 값(2 * (a + b))을 answer에 더한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;조건 3&lt;/b&gt;: 두 수 모두 짝수인 경우 (위 조건을 모두 만족하지 않을 때)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 수의 차의 절댓값(abs(a - b))을 answer에 더한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;최종적으로 계산된 answer 값을 반환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733315719208&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(a,b):
    return a*a+b*b if a &amp;amp; b &amp;amp; 1 else (a+b) &amp;lt;&amp;lt; 1  if (a | b) &amp;amp; 1 else abs(a - b)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 함수는 삼항 연산자와 비트 연산자를 사용하여 입력된 a와 b의 값을 계산한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt; 첫 번째 조건: a &amp;amp; b &amp;amp; 1&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;a &amp;amp; b &amp;amp; 1은 비트 연산자로, a와 b의 &lt;b&gt;가장 낮은 비트&lt;/b&gt;(1의 자리)가 모두 1인지 확인한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;즉, &lt;b&gt;a와 b가 둘 다 홀수&lt;/b&gt;일 때 조건이 참&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;이 조건이 참이면 a * a + b * b를 반환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt; 두 번째 조건: (a | b) &amp;amp; 1&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫 번째 조건이 거짓이면, 두 번째 조건 (a | b) &amp;amp; 1이 평가된다.&lt;/li&gt;
&lt;li&gt;a | b는 a와 b 중 하나라도 홀수라면 참&lt;/li&gt;
&lt;li&gt;이 조건이 참이면 (a + b) &amp;lt;&amp;lt; 1을 반환
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(a + b) &amp;lt;&amp;lt; 1은 (a + b) * 2와 동일&lt;/li&gt;
&lt;li&gt;비트 연산자 &amp;lt;&amp;lt;는 값을 왼쪽으로 1비트 이동시켜 2배로 만든다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;abs(a - b)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위 조건이 모두 거짓이면, 두 수의 차의 절댓값 abs(a - b)를 반환&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;비트 연산자 &amp;amp;란?&lt;br /&gt;- &amp;amp;는 두 숫자의 이진수 표현을 비교하여, &lt;b&gt;두 숫자의 각 자리 비트가 모두 1인 경우에만 1&lt;/b&gt;을 결과로 반환한다.&lt;br /&gt;- 나머지 경우에는 0이 반환&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_20241204_215207223.jpg&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;1440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mh2P1/btsK7Exj8Gi/3OounQYjIdizMx5wbrz3H1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mh2P1/btsK7Exj8Gi/3OounQYjIdizMx5wbrz3H1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mh2P1/btsK7Exj8Gi/3OounQYjIdizMx5wbrz3H1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmh2P1%2FbtsK7Exj8Gi%2F3OounQYjIdizMx5wbrz3H1%2Fimg.jpg&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;1212&quot; height=&quot;1440&quot; data-filename=&quot;KakaoTalk_20241204_215207223.jpg&quot; data-origin-width=&quot;1212&quot; data-origin-height=&quot;1440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/169</guid>
      <comments>https://kkangna.tistory.com/169#entry169comment</comments>
      <pubDate>Wed, 4 Dec 2024 21:52:39 +0900</pubDate>
    </item>
    <item>
      <title>level0_부분 문자열 이어 붙여 문자열 만들기</title>
      <link>https://kkangna.tistory.com/168</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;746&quot; data-origin-height=&quot;1133&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ecVRM0/btsK4779idk/gFvQSewwPkm07Lwpnrkmz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ecVRM0/btsK4779idk/gFvQSewwPkm07Lwpnrkmz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ecVRM0/btsK4779idk/gFvQSewwPkm07Lwpnrkmz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FecVRM0%2FbtsK4779idk%2FgFvQSewwPkm07Lwpnrkmz1%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;746&quot; height=&quot;1133&quot; data-origin-width=&quot;746&quot; data-origin-height=&quot;1133&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733226678190&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(my_strings, parts):
    answer = ''
    for i in range(len(my_strings)):
        answer+= my_strings[i][parts[i][0]:parts[i][1]+1]
        
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;part[i][0]와 part[i][1]은 각각 시작과 끝 인덱스를 나타낸다.&lt;/li&gt;
&lt;li&gt;my_strings[i][ part[i][0] : part[i][1]+1]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;part[i][1]+1은 종료 인덱스는 포함되지 않으므로 +1을 더해 끝 인덱스를 포함시킨다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드1&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733226878343&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(my_strings, parts):
    answer = &quot;&quot;
    for i, (s, e) in enumerate(parts):
        answer += my_strings[i][s:e+1]
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;for i, (s, e) in enumerate(parts):
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;i는 현재 parts에서의 인덱스이다.&lt;/li&gt;
&lt;li&gt;(s,e)는 parts의 요소로, 각각 시작과 끝 인덱스트를 나타낸다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예를 들어 parts = [[0, 4], [1, 2], [3, 5], [7, 7]]일때
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫 번째 순회: i=0, (s, e)=(0, 4)&lt;/li&gt;
&lt;li&gt;두 번째 순회: i=1, (s, e)=(1, 2)&lt;/li&gt;
&lt;li&gt;세 번째 순회: i=2, (s, e)=(3, 5)&lt;/li&gt;
&lt;li&gt;네 번째 순회: i=3, (s, e)=(7, 7)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;my_strings[i][s:e+1]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;my_strings의 i번째 문자열에서 s부터 e+1까지 슬라이싱한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;댓글에&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;94&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjvss6/btsK65neGKO/Mg321X3BKV6VkVXApRRxzK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjvss6/btsK65neGKO/Mg321X3BKV6VkVXApRRxzK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjvss6/btsK65neGKO/Mg321X3BKV6VkVXApRRxzK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbjvss6%2FbtsK65neGKO%2FMg321X3BKV6VkVXApRRxzK%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;680&quot; height=&quot;94&quot; data-origin-width=&quot;680&quot; data-origin-height=&quot;94&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;answer += 의 문제점
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드에서 answer는 문자열로 초기화되고, 반복문 안에서 answer+= my_strings[i][s:e+1]을 실행한다.&lt;/li&gt;
&lt;li&gt;이 코드는 내부적으로 매번 새로운 문자열 객체를 생성하고, 기존의 문자열 데이터를 복사하여 새 객체를 만들게 된다.&lt;/li&gt;
&lt;li&gt;반복 횟수가 많아질수록 &lt;b&gt;추가적인 메모리 사용&lt;/b&gt;과 &lt;b&gt;복사 작업&lt;/b&gt;으로 인해 성능이 저하된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수정하라고 말씀하신 걸 코드로 적어보면&lt;/p&gt;
&lt;pre id=&quot;code_1733227110327&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(my_strings, parts):
    answer = []  # 리스트로 초기화
    for i, (s, e) in enumerate(parts):
        answer.append(my_strings[i][s:e+1])  # 리스트에 부분 문자열 추가
    return ''.join(answer)  # 리스트의 문자열을 결합하여 반환&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드2&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1733227329505&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(my_strings, parts):
    return ''.join([x[y[0]:y[1]+1] for x,y in zip(my_strings, parts)])&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;zip(my_strings, parts)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;zip() 함수는 두 리스트(my_strings와 parts)를 동시에 순회하기 위해 사용&lt;/li&gt;
&lt;li&gt;zip()은 두 리스트의 요소를 튜플로 묶어준다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1733227404495&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;my_strings = [&quot;progressive&quot;, &quot;hamburger&quot;, &quot;hammer&quot;, &quot;ahocorasick&quot;]
parts = [[0, 4], [1, 2], [3, 5], [7, 7]]
list(zip(my_strings, parts)) 
# 결과: [(&quot;progressive&quot;, [0, 4]), (&quot;hamburger&quot;, [1, 2]), (&quot;hammer&quot;, [3, 5]), (&quot;ahocorasick&quot;, [7, 7])]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;[x[y[0]:y[1]+1]&amp;nbsp;for&amp;nbsp;x,&amp;nbsp;y&amp;nbsp;in&amp;nbsp;zip(my_strings,&amp;nbsp;parts)] &lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서 x는 my_strings의 개별 문자열, y는 parts의 [start, end] 범위이다.&lt;/li&gt;
&lt;li&gt;x[y[0]:y[1]+1]는 x 문자열에서 y[0](시작)부터 y[1]+1(끝 포함)까지의 부분 문자열을 추출한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/168</guid>
      <comments>https://kkangna.tistory.com/168#entry168comment</comments>
      <pubDate>Tue, 3 Dec 2024 21:04:34 +0900</pubDate>
    </item>
    <item>
      <title>level0_배열의 원소 삭제하기</title>
      <link>https://kkangna.tistory.com/167</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;657&quot; data-origin-height=&quot;1145&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kFoWp/btsK1mXfUvj/LwcQGvp7x5okwOLgHEj5E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kFoWp/btsK1mXfUvj/LwcQGvp7x5okwOLgHEj5E0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kFoWp/btsK1mXfUvj/LwcQGvp7x5okwOLgHEj5E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkFoWp%2FbtsK1mXfUvj%2FLwcQGvp7x5okwOLgHEj5E0%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;657&quot; height=&quot;1145&quot; data-origin-width=&quot;657&quot; data-origin-height=&quot;1145&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732794422424&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr, delete_list):
    return list(filter(lambda x: x not in delete_list,arr))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아까 푼 문제와 비슷한거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 다른 점이 비교해야할 대상이 리스트라는 것이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;arr 리스트에서 delete_list에 포함되지 않은 요소들만 추출하여 새로운 리스트로 반환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pydole.tistory.com/84&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://pydole.tistory.com/84&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1732794614866&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] 포함(Containment) 연산자 in, not in&quot; data-og-description=&quot;파이썬에는 포함(Containment) 연산자를 ( in, not in ) 제공하며, 객체 in (not in) 시퀀스의 형태로 사용 가능하다. 1. 문자열(strings) ########### in ########### if 'p' in 'python': print(True) else: print(False) ---------------&quot; data-og-host=&quot;pydole.tistory.com&quot; data-og-source-url=&quot;https://pydole.tistory.com/84&quot; data-og-url=&quot;https://pydole.tistory.com/entry/Python-%ED%8F%AC%ED%95%A8Containment-%EC%97%B0%EC%82%B0%EC%9E%90-in-not-in&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b4ksYw/hyXDeUlVP4/fK4RVt6KFzIov3k1aKCC2K/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cxcZUU/hyXGHN4rqu/iKXfjLQjq8Vv8xETSUR6QK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://pydole.tistory.com/84&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://pydole.tistory.com/84&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b4ksYw/hyXDeUlVP4/fK4RVt6KFzIov3k1aKCC2K/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cxcZUU/hyXGHN4rqu/iKXfjLQjq8Vv8xETSUR6QK/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] 포함(Containment) 연산자 in, not in&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;파이썬에는 포함(Containment) 연산자를 ( in, not in ) 제공하며, 객체 in (not in) 시퀀스의 형태로 사용 가능하다. 1. 문자열(strings) ########### in ########### if 'p' in 'python': print(True) else: print(False) ---------------&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;pydole.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/167</guid>
      <comments>https://kkangna.tistory.com/167#entry167comment</comments>
      <pubDate>Thu, 28 Nov 2024 20:50:27 +0900</pubDate>
    </item>
    <item>
      <title>level0_꼬리 문자열</title>
      <link>https://kkangna.tistory.com/166</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;1048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dLtmNT/btsK07MJhMp/xtJyX2OoEPQaa16KiFkRJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dLtmNT/btsK07MJhMp/xtJyX2OoEPQaa16KiFkRJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dLtmNT/btsK07MJhMp/xtJyX2OoEPQaa16KiFkRJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdLtmNT%2FbtsK07MJhMp%2FxtJyX2OoEPQaa16KiFkRJ1%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;672&quot; height=&quot;1048&quot; data-origin-width=&quot;672&quot; data-origin-height=&quot;1048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732792759079&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(str_list, ex):
    answer = ''
    for i in range(len(str_list)):
        if ex not in str_list[i]:
            answer+=str_list[i]
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;str_list의 길이만큼 반복문을 실행한다.&lt;/li&gt;
&lt;li&gt;if ex in not in str_list[i]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만약 str_list[i]에 ex가 포한되지 않을 경우&lt;/li&gt;
&lt;li&gt;answer에 str_list[i]fmf 추가한다.&lt;/li&gt;
&lt;li&gt;여기서, += 연산자는 문자열을 이어 붙이는 역할을 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732792932031&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(str_list, ex): 
    return ''.join(filter(lambda x: ex not in x, str_list))&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;filter 함수는 특정 조건을 만족하는 요소들만 걸러내는 함수이다.&lt;/li&gt;
&lt;li&gt;filter 함수 사용법
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;filter(함수, 반복 가능한 데이터)&lt;/li&gt;
&lt;li&gt;여기서 lambda x : ex not in x 가 조건 함수로 사용된다.&lt;/li&gt;
&lt;li&gt;요소 x가 ex를 포함하지 않을 때, True를 반환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;''.join
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;join은 문자열 리스트의 요소들을 하나의 문자열로 이어붙이는 메서드이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ge9J92wy0nE&amp;amp;list=PLa9dKeCAyr7iWPMclcDxbnlTjQ2vjdIDD&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.youtube.com/watch?v=ge9J92wy0nE&amp;amp;list=PLa9dKeCAyr7iWPMclcDxbnlTjQ2vjdIDD&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=ge9J92wy0nE&amp;amp;list=PLa9dKeCAyr7iWPMclcDxbnlTjQ2vjdIDD&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/OEBoh/hyXGERll2z/26r9eD1f8KVZvgeWhO7RxK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/m2tsv/hyXDgR7hEX/PJhXkykzOW5kRUNCaakfT1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;[파이썬 강의] UNIT 32.2 람다 표현식과 map, filter, reduce 함수 활용하기&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/ge9J92wy0nE&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;filter랑 lamba를 찾다보니 좋은 유튜브를 발견했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 자세히 공부해보는것도 좋은거 같다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고하다보니 reduce도 알게되었다..ㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/166</guid>
      <comments>https://kkangna.tistory.com/166#entry166comment</comments>
      <pubDate>Thu, 28 Nov 2024 20:33:59 +0900</pubDate>
    </item>
    <item>
      <title>level0_배열의 길이에 따라 다른 연산하기</title>
      <link>https://kkangna.tistory.com/165</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;1226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IbGa0/btsKV8UaejU/wyukhTyppqc3w6mK7hfU00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IbGa0/btsKV8UaejU/wyukhTyppqc3w6mK7hfU00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IbGa0/btsKV8UaejU/wyukhTyppqc3w6mK7hfU00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIbGa0%2FbtsKV8UaejU%2FwyukhTyppqc3w6mK7hfU00%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;518&quot; height=&quot;1226&quot; data-origin-width=&quot;518&quot; data-origin-height=&quot;1226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732621743185&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr, n):
    if len(arr) % 2 == 1:
        arr = [x+ n if i % 2 == 0 else x for i,x  in enumerate(arr)]
    else:
        arr=[x+ n if i % 2 == 1 else x for i,x  in enumerate(arr)]
    return arr&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;if len(arr) % 2 == 1
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만약에 arr의 길이가 홀수라면&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;arr&amp;nbsp;=&amp;nbsp;[x+&amp;nbsp;n&amp;nbsp;if&amp;nbsp;i&amp;nbsp;%&amp;nbsp;2&amp;nbsp;==&amp;nbsp;0&amp;nbsp;else&amp;nbsp;x&amp;nbsp;for&amp;nbsp;i,x&amp;nbsp;&amp;nbsp;in&amp;nbsp;enumerate(arr)]
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;enumerate(arr)는 arr 배열의 요소( x)와 해당 요소의 인덱스(i)를 동시에 제공한다.&lt;/li&gt;
&lt;li&gt;if i % 2 == 0
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;arr배열 요소의 인덱스가 짝수라면&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;x+n
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;arr배열의 요소에 n을 더한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;else x
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;arr배열 요소의 인덱스가 홀수라면 x&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;else문도 위와 동일하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드1&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 한줄...코드를 보았다...&lt;/p&gt;
&lt;pre id=&quot;code_1732622787621&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr, n):
	return [x + n*((len(arr)+i) % 2) for i,x in enumerate(arr)]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감탄....&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만만세..&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;489&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xE2ye/btsKWhpCwOQ/iOF8zziOIq7ReREDT7PW31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xE2ye/btsKWhpCwOQ/iOF8zziOIq7ReREDT7PW31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xE2ye/btsKWhpCwOQ/iOF8zziOIq7ReREDT7PW31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxE2ye%2FbtsKWhpCwOQ%2FiOF8zziOIq7ReREDT7PW31%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;162&quot; height=&quot;135&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;489&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;x + n *((len(arr)+i)%2)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;arr의 리스트의 길이와 인덱스를 더한 값을 2로 나눈 나머지&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;0 또는 1의 값을 가진다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드2&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실... 나도 range 범위를 쓰려고 했는데.. 머리는 아는데 손이 움직여지지 않았던 코드였다.&lt;/p&gt;
&lt;pre id=&quot;code_1732623329552&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr, n):
    N=len(arr)
    if N % 2 : # 홀수라면(TRUE는 1)
    	for i in range(0,N,2):
        	arr[i] += n # 난.. 여기서 막혀버렸다..
    else:
    	for i in range(1,N,2):
        	arr[i] += n
    return arr&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/165</guid>
      <comments>https://kkangna.tistory.com/165#entry165comment</comments>
      <pubDate>Tue, 26 Nov 2024 21:16:12 +0900</pubDate>
    </item>
    <item>
      <title>level0_배열의 원소만큼 추가하기</title>
      <link>https://kkangna.tistory.com/164</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;1108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QNfp2/btsKU5vhCD3/s8KChV0oTmNkmgSSBgKMK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QNfp2/btsKU5vhCD3/s8KChV0oTmNkmgSSBgKMK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QNfp2/btsKU5vhCD3/s8KChV0oTmNkmgSSBgKMK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQNfp2%2FbtsKU5vhCD3%2Fs8KChV0oTmNkmgSSBgKMK1%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;656&quot; height=&quot;1108&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;1108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732540105394&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr):
    answer = []
    for i in arr:
        answer+=[i] * i
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;[i] * i 는 리스트 [i]를 i번 반복한 새로운 리스트를 생성한다.&lt;/li&gt;
&lt;li&gt;여기서 나는 사실 append랑 += 연산자랑... 매우 헷깔렸다..
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만약 append를 사용했더라면
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;answer.append([5] * 5)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;결과는 [[5,5,5,5,5]] 로 출력됐을 것이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;answer += [i] * i를 사용하면 리스트의 각 숫자를 원하는 만큼 병합하여 평평한(flat)리스트를 만들 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1732540489890&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(arr):
    return [i for i in arr for j in range(i)]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 바보같이 왜 j가 필요한거지? 계속 혼자 고민하다... ㅜㅜ 단순히 반복 횟수를 제어하는 역할을 한다는 걸 발견하고.. 눈물을 흘렸다..&lt;/p&gt;
&lt;pre id=&quot;code_1732540659849&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;result = []
for i in arr: # arr에서 각 요소를 하나씩 가져옴
    for j in range(i): # 해당 요소의 값만큼 반복 (0부터 i-1까지)
    	result.append(i) # i를 result에 추가&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 위 코드와 동일하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/164</guid>
      <comments>https://kkangna.tistory.com/164#entry164comment</comments>
      <pubDate>Mon, 25 Nov 2024 22:18:27 +0900</pubDate>
    </item>
    <item>
      <title>level0_배열에서 문자열 대소문자 변환하기</title>
      <link>https://kkangna.tistory.com/163</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;1123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KWe4g/btsKMZvvP92/KEltiQ57iuZlQOXagxF2y1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KWe4g/btsKMZvvP92/KEltiQ57iuZlQOXagxF2y1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KWe4g/btsKMZvvP92/KEltiQ57iuZlQOXagxF2y1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKWe4g%2FbtsKMZvvP92%2FKEltiQ57iuZlQOXagxF2y1%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;710&quot; height=&quot;1123&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;1123&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1731933378340&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(strArr):
    answer = []
    for i in range(len(strArr)):
        if i % 2 == 0:
            answer.append(strArr[i].lower())
        else:
            answer.append(strArr[i].upper())
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;i % 2 == 0:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;strArr[i].lower ()
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;짝수 인덱스는 모두 소문자로 변환한다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;strArr[i].upper()
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;홀수 인덱스는 모두 대문자로 변환한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1731933660786&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(strArr):
    return [s.lower() if i % 2 ==0 else s.upper() for i,s in enumerate(strArr)]&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리스트 컴프리헨션을 사용하였다.&lt;/li&gt;
&lt;li&gt;enumerate(strArr)를 통해 인덱스(i)와 요소(s)를 동시에 가져온다.&lt;/li&gt;
&lt;li&gt;s.lower() if i % 2 == 0 else s.upper()
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인덱스 i가 짝수인경우 s.lower()로 변환한다.(소문자로)&lt;/li&gt;
&lt;li&gt;인덱스 i가 홀수인 경우 s.upper()로 변환한다.(대문자로)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;각 요소 s가 변환된 결과를 모아 새로운 리스트로 반환한다.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/163</guid>
      <comments>https://kkangna.tistory.com/163#entry163comment</comments>
      <pubDate>Mon, 18 Nov 2024 21:44:55 +0900</pubDate>
    </item>
    <item>
      <title>level0_짝수 홀수 개수</title>
      <link>https://kkangna.tistory.com/162</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;929&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZJrAG/btsKMGXFCXA/HOsoUZ8Iw34M087WY9xpX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZJrAG/btsKMGXFCXA/HOsoUZ8Iw34M087WY9xpX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZJrAG/btsKMGXFCXA/HOsoUZ8Iw34M087WY9xpX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZJrAG%2FbtsKMGXFCXA%2FHOsoUZ8Iw34M087WY9xpX1%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;515&quot; height=&quot;929&quot; data-origin-width=&quot;515&quot; data-origin-height=&quot;929&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;내가 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1731932169411&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(num_list):
    answer = [0,0]
    for i in num_list:
        answer[i % 2] += 1
    return answer&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;i가 짝수일 경우 i % 2 == 0 , i가 홀수일 경우 1이 나온다.&lt;/li&gt;
&lt;li&gt;answer[0]-&amp;gt; 짝수, answer[1]-&amp;gt; 홀수 에 1씩 더해진다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;다른 사람이 제출한 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1731932422056&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;def solution(num_list):
    odd = sum(1 for n in num_list if n % 2)
    return [len(num_list) - odd, odd]&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리스트 num_list의 각 요소 n을 순회하며 n % 2의 결과가 True(즉, n이 홀수)인 경우 1을 더한다.&amp;nbsp;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1은 True 값을, 0은 False값을 반환한다.&lt;/li&gt;
&lt;li&gt;odd 변수는 리스트의 홀수 개수를 나타낸다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;len(num_list) - odd
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;짝수의 개수이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>파이썬_알고리즘(코딩테스트)/level0</category>
      <author>깡나용</author>
      <guid isPermaLink="true">https://kkangna.tistory.com/162</guid>
      <comments>https://kkangna.tistory.com/162#entry162comment</comments>
      <pubDate>Mon, 18 Nov 2024 21:23:18 +0900</pubDate>
    </item>
  </channel>
</rss>