<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>정리</title>
    <link>https://data-bank.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 7 Jul 2026 20:31:54 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>H.J.Park</managingEditor>
    <item>
      <title>프로그래머스: 가장 긴 팰린드롬(Level 3)</title>
      <link>https://data-bank.tistory.com/48</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스: 가장 긴 팰린드롬(Level 3)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1644010379383&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 가장 긴 팰린드롬&quot; data-og-description=&quot;앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/12904&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/12904&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bojvKU/hyNjCQDdbk/B6gwSDcaYwWblGqakJ91Jk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/3kSK1/hyNhVK28Ad/1aTpQiTzU3HBezKFpUon20/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/12904&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/12904&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bojvKU/hyNjCQDdbk/B6gwSDcaYwWblGqakJ91Jk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/3kSK1/hyNhVK28Ad/1aTpQiTzU3HBezKFpUon20/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;코딩테스트 연습 - 가장 긴 팰린드롬&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 설명&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다.&lt;br /&gt;문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들면, 문자열 s가 &quot;abcdcba&quot;이면 7을 return하고 &quot;abacde&quot;이면 3을 return합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제한사항&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문자열 s의 길이 : 2,500 이하의 자연수&lt;/li&gt;
&lt;li&gt;문자열 s는 알파벳 소문자로만 구성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짝수 길이 팰린드롬과 홀수 길이 팰린드롬으로 나눠서 풀이를 진행했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;for loop을 통해서 s[i]가 팰린드롬의 중앙이라고 가정하고 양쪽으로 벌려나가면서 최대 길이 팰린드롬을 찾아나갔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;짝수 길이 팰린드롬의 경우 s[i] 와 s[i + 1]가 정중앙이고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;홀수 길이 팰린드롬의 경우 s[i]가 정중앙이 된다.&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;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/899c016cfc6bf2c7229c948dd015ad62.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/프로그래머스</category>
      <category>가장 긴 팰린드롬</category>
      <category>가장 긴 팰린드롬 파이썬</category>
      <category>가장 긴 팰린드롬 파이썬 풀이</category>
      <category>가장 긴 팰린드롬 풀이</category>
      <category>프로그래머스 가장 긴 팰린드롬</category>
      <category>프로그래머스 가장 긴 팰린드롬 파이썬</category>
      <category>프로그래머스 가장 긴 팰린드롬 파이썬 풀이</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/48</guid>
      <comments>https://data-bank.tistory.com/48#entry48comment</comments>
      <pubDate>Sat, 5 Feb 2022 07:23:39 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스: 정수 삼각형(Level 3)</title>
      <link>https://data-bank.tistory.com/47</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스:&amp;nbsp;정수&amp;nbsp;삼각형(Level&amp;nbsp;3)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1643810105817&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 정수 삼각형&quot; data-og-description=&quot;[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/43105&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/43105&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/JGFA9/hyNgk4X7zT/0iDh7Eriks6KCp4VN9PKy1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bth3HY/hyNhSserxW/oH9g0K6LLzJWdarKimuKF0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/43105&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/43105&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/JGFA9/hyNgk4X7zT/0iDh7Eriks6KCp4VN9PKy1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bth3HY/hyNhSserxW/oH9g0K6LLzJWdarKimuKF0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;코딩테스트 연습 - 정수 삼각형&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 설명&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제한사항&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;삼각형의 높이는 1 이상 500 이하입니다.&lt;/li&gt;
&lt;li&gt;삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bfs나 dfs로도 문제를 풀 수는 있지만 시간초과에 걸린다. 삼각형의 최대 높이가 500이기 때문에 그렇다.&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;339&quot; data-origin-height=&quot;264&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bod7Kk/btrsiGAeaW8/Zv5YOehrLkm4EbrPc6o3yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bod7Kk/btrsiGAeaW8/Zv5YOehrLkm4EbrPc6o3yk/img.png&quot; data-alt=&quot;정수 삼각형&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bod7Kk/btrsiGAeaW8/Zv5YOehrLkm4EbrPc6o3yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbod7Kk%2FbtrsiGAeaW8%2FZv5YOehrLkm4EbrPc6o3yk%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;339&quot; height=&quot;264&quot; data-origin-width=&quot;339&quot; data-origin-height=&quot;264&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;정수 삼각형&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 거쳐온 값들의 합을 저장할 수 있는 visited 배열을 만들었다. 크기는 주어진 triangle 배열과 똑같이 만들었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 visited[i][j]에 값들을 채워 넣었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;j = 0(첫번째 인덱스) 혹은 j = i(마지막 인덱스)의 경우, 바로 윗 줄의 첫번째 혹은 마지막 인덱스와 자신의 값을 더한 값을 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;0 &amp;lt; j &amp;lt; i 의 인덱스들은 visited 배열에서 자신의 대각선 위 오른쪽 혹은 대각선 위 왼쪽 중 더 큰 수와 자신을 더한 값을 저장한다.&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;만약 bfs를 사용할 경우 하나의 인덱스를 위해서 2번을 비교해야 되는데 위와 같은 방법으로 진행할 경우에는 한 번에 거쳐온 최댓값을 구할 수 있기 때문에 시간이 단축된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/d244f3d13e3a79fe5c013cab402d0609.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/프로그래머스</category>
      <category>정수 삼각형</category>
      <category>정수 삼각형 파이썬</category>
      <category>정수 삼각형 풀이</category>
      <category>프로그래머스 정수 삼각형</category>
      <category>프로그래머스 정수 삼각형 파이썬</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/47</guid>
      <comments>https://data-bank.tistory.com/47#entry47comment</comments>
      <pubDate>Wed, 2 Feb 2022 23:43:29 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스: 가장 먼 노드(Level 3)</title>
      <link>https://data-bank.tistory.com/46</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스:&amp;nbsp;가장&amp;nbsp;먼&amp;nbsp;노드(Level&amp;nbsp;3)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1643692908865&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 가장 먼 노드&quot; data-og-description=&quot;6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/49189&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/49189&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bgcfKU/hyNgnNGYvF/UwUcatuNjtEr7sp2II64B1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bOI7Xf/hyNgjR3gQZ/BmJ50YtN8PHBN6YfPaGTrK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/49189&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/49189&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bgcfKU/hyNgnNGYvF/UwUcatuNjtEr7sp2II64B1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/bOI7Xf/hyNgjR3gQZ/BmJ50YtN8PHBN6YfPaGTrK/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;코딩테스트 연습 - 가장 먼 노드&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 설명&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제한사항&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;노드의 개수 n은 2 이상 20,000 이하입니다.&lt;/li&gt;
&lt;li&gt;간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다.&lt;/li&gt;
&lt;li&gt;vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인접 리스트와 bfs 알고리즘을 활용해서 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1번 노드로부터의 거리를 저장하는 dist 배열을 False 값으로 선언한다 (인덱싱 편의를 위해서 n + 1개를 선언했다).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;graph 배열에는 주어진 간선들을 인접 리스트 형식으로 저장한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;queue에는 (1번 노드로부터의 거리, 도착 노드) 정보를 입력한다. 1번 노드부터 시작하기 때문에 초기에는 (0, 1)을 queue에 넣어주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후에는 queue가 빌 때까지 dist 배열을 갱신해주면 된다. 본 문제에서는 간선의 가중치가 모두 같기 때문에 이미 방문한 노드는 갱신을 할 필요가 없다. 따라서 dist 배열이 False일 경우에만 갱신하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 노드에서 갈 수 있는 노드들을 queue에 다시 추가해 주면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;답은 dist 배열에서 time - 1 값을 가진 인덱스에 개수이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/56c36e674b2ec5653fca3f14636e0b81.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/프로그래머스</category>
      <category>가장 먼 노드</category>
      <category>가장 먼 노드 파이썬</category>
      <category>프로그래머스 가장 먼 노드</category>
      <category>프로그래머스 가장 먼 노드 파이썬</category>
      <category>프로그래머스 가장 먼 노드 풀이</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/46</guid>
      <comments>https://data-bank.tistory.com/46#entry46comment</comments>
      <pubDate>Tue, 1 Feb 2022 14:46:42 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스: 순위 검색(Level 2)</title>
      <link>https://data-bank.tistory.com/45</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스:&amp;nbsp;순위&amp;nbsp;검색(Level&amp;nbsp;2)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1643572149068&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 순위 검색&quot; data-og-description=&quot;[&amp;quot;java backend junior pizza 150&amp;quot;,&amp;quot;python frontend senior chicken 210&amp;quot;,&amp;quot;python frontend senior chicken 150&amp;quot;,&amp;quot;cpp backend senior pizza 260&amp;quot;,&amp;quot;java backend junior chicken 80&amp;quot;,&amp;quot;python backend senior chicken 50&amp;quot;] [&amp;quot;java and backend and junior and pizza 100&amp;quot;,&amp;quot;pyt&quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/72412&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/72412&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/RN0jI/hyNgjp1sdq/mzJHsNXnQPTyNaWOro0sK0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/sG2q9/hyNgjjfTKt/FWtIkTb5BmFl8v0aRP4Spk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/72412&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/72412&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/RN0jI/hyNgjp1sdq/mzJHsNXnQPTyNaWOro0sK0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/sG2q9/hyNgjjfTKt/FWtIkTb5BmFl8v0aRP4Spk/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;코딩테스트 연습 - 순위 검색&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;[&quot;java backend junior pizza 150&quot;,&quot;python frontend senior chicken 210&quot;,&quot;python frontend senior chicken 150&quot;,&quot;cpp backend senior pizza 260&quot;,&quot;java backend junior chicken 80&quot;,&quot;python backend senior chicken 50&quot;] [&quot;java and backend and junior and pizza 100&quot;,&quot;pyt&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 설명&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지원자가 지원서에 입력한 4가지의 정보와 획득한 코딩테스트 점수를 하나의 문자열로 구성한 값의 배열 info, 개발팀이 궁금해하는 문의조건이 문자열 형태로 담긴 배열 query가 매개변수로 주어질 때,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;각 문의조건에 해당하는 사람들의 숫자를 순서대로 배열에 담아 return 하도록 solution 함수를 완성해 주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이 방법&lt;/h2&gt;
&lt;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;모든 info에 대해서 query와 각각 비교하면 된다. 하지만 이 방식은 효율성을 통과하지 못한다.&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 title=&quot;카카오 테크 블로그&quot; href=&quot;https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;카카오 테크 블로그&lt;/a&gt;에서 힌트를 참조해서 풀었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;427&quot; data-origin-height=&quot;586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/duXmDh/btrsc1cV2V7/KdTSnxskjAc79ROhKtzAO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/duXmDh/btrsc1cV2V7/KdTSnxskjAc79ROhKtzAO1/img.png&quot; data-alt=&quot;https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/duXmDh/btrsc1cV2V7/KdTSnxskjAc79ROhKtzAO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FduXmDh%2Fbtrsc1cV2V7%2FKdTSnxskjAc79ROhKtzAO1%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;427&quot; height=&quot;586&quot; data-origin-width=&quot;427&quot; data-origin-height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://tech.kakao.com/2021/01/25/2021-kakao-recruitment-round-1/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;카카오 테크 블로그에서는 주어진 info 배열로 만들 수 있는 모든 조합을 미리 만들어서 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, &quot;java backend junior pizza 150&quot; info는 [java, -], [backend, -], [junior, -], [pizza, -] 에서 각각 한 개씩을 추출해서 총 16(2x2x2x2)가지의 조합을 만들 수 있다. 이런 방법으로 모든 조합을 만들어서 딕셔너리 key로 저장한 뒤 score를 배열로 저장했다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 방식 딕셔너리를 미리 구축해 놓으면, query가 주어졌을 때 dict[query]를 통해서 해당 조건에 만족하는 사람들의 점수를 배열로 한 번에 얻을 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;query 조건을 만족하는 사람들의 점수를 배열로 받았을 때, for loop으로 query에서 주어진 score와 비교하면 시간 초과로 통과하지 못한다. 사람들의 점수를 담은 배열을 정렬한 뒤에 이진탐색으로 찾아야 효율성을 통과할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이진 탐색의 경우 bisect 라이브러리에서 bisect_left()를 사용했다. 직접 구현하는 코드도 매우 간단하다. 아래에 따로 첨부하겠다.&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;라이브러리 사용한 풀이&lt;/b&gt;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/08ce1ccdac3257699da3c4774bf91590.js&quot;&gt;&lt;/script&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;bisect_left()를 구현해서 푼 풀이&lt;/b&gt;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/959896593faab0b5a7e74815d91858f1.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/프로그래머스</category>
      <category>2021카카오신입공채1차</category>
      <category>2021카카오신입공채1차코테</category>
      <category>순위 검색 파이썬</category>
      <category>순위 검색 풀이</category>
      <category>순위검색 파이썬 풀이</category>
      <category>카카오코테</category>
      <category>프로그래머스 순위검색</category>
      <category>프로그래머스 순위검색 파이썬</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/45</guid>
      <comments>https://data-bank.tistory.com/45#entry45comment</comments>
      <pubDate>Mon, 31 Jan 2022 06:01:40 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스: 타겟 넘버(Level 2)</title>
      <link>https://data-bank.tistory.com/44</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프로그래머스:&amp;nbsp;타겟&amp;nbsp;넘버(Level&amp;nbsp;2)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1643400503645&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 타겟 넘버&quot; data-og-description=&quot;n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 &quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/43165&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/43165&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/YxFKb/hyNeGMRL0N/Sh5qEyoINUqZuRlZKLfI30/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/icY7w/hyNeNrGvVN/doeniT2u4s3D3DtPFYaTy1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/43165&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/43165&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/YxFKb/hyNeGMRL0N/Sh5qEyoINUqZuRlZKLfI30/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/icY7w/hyNeNrGvVN/doeniT2u4s3D3DtPFYaTy1/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;코딩테스트 연습 - 타겟 넘버&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 설명&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제한사항&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주어지는 숫자의 개수는 2개 이상 20개 이하입니다.&lt;/li&gt;
&lt;li&gt;각 숫자는 1 이상 50 이하인 자연수입니다.&lt;/li&gt;
&lt;li&gt;타겟 넘버는 1 이상 1000 이하인 자연수입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dfs를 활용해서 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이전까지 값에 '+' 혹은 '-'를 했을 때의 값을 계속해서 전달해 나가면서 풀었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;dfs의 종료 조건은 numbers 배열의 마지막 인덱스에 도착했을 때이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;numbers 배열의 순서를 조작하면 안 되기 때문에 조기조건을 사용하여 dfs를 탈출하는 경우도 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/4e2e074261585195d899a6b880c517e8.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/프로그래머스</category>
      <category>타겟 넘버 풀이</category>
      <category>타겟넘버</category>
      <category>타겟넘버 파이썬</category>
      <category>프로그래머스</category>
      <category>프로그래머스 문제</category>
      <category>프로그래머스 코딩테스트</category>
      <category>프로그래머스 코테</category>
      <category>프로그래머스 타겟넘버 파이썬</category>
      <category>프로그래머스 타켓 넘버</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/44</guid>
      <comments>https://data-bank.tistory.com/44#entry44comment</comments>
      <pubDate>Sat, 29 Jan 2022 05:16:38 +0900</pubDate>
    </item>
    <item>
      <title>프로그래머스: 소수 찾기(Level 2)</title>
      <link>https://data-bank.tistory.com/43</link>
      <description>&lt;p&gt;프로그래머스: 소수 찾기(Level 2)&lt;/p&gt;
&lt;figure id=&quot;og_1613056325124&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;코딩테스트 연습 - 소수 찾기&quot; data-og-description=&quot;한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 &quot; data-og-host=&quot;programmers.co.kr&quot; data-og-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/42839&quot; data-og-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/42839&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cH4muu/hyJesrIYoE/Fb80BsVqpcn9bMvXKLkat0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/caRH69/hyJexGx2i3/skgzMYIsxKbONANZ4Pfz4k/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626&quot;&gt;&lt;a href=&quot;https://programmers.co.kr/learn/courses/30/lessons/42839&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://programmers.co.kr/learn/courses/30/lessons/42839&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cH4muu/hyJesrIYoE/Fb80BsVqpcn9bMvXKLkat0/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626,https://scrap.kakaocdn.net/dn/caRH69/hyJexGx2i3/skgzMYIsxKbONANZ4Pfz4k/img.jpg?width=626&amp;amp;height=626&amp;amp;face=0_0_626_626');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;코딩테스트 연습 - 소수 찾기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;programmers.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 설명&lt;/h2&gt;
&lt;p&gt;한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.&lt;/p&gt;
&lt;p&gt;각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;제한사항&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;numbers는 길이 1 이상 7 이하인 문자열입니다.&lt;/li&gt;
&lt;li&gt;numbers는 0~9까지 숫자만으로 이루어져 있습니다.&lt;/li&gt;
&lt;li&gt;013은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;풀이 방법&lt;/h2&gt;
&lt;p&gt;순열(permutation)을 활용하여 풀었다&lt;/p&gt;
&lt;p&gt;순열을 통해서 모든 경우의 수를 찾고 set을 통해서 중복되는 수를 제거하고 소수인지 아닌지를 판별했다&lt;/p&gt;
&lt;p&gt;종이 조각으로 만들 수 있는 경우의 수를 찾는 방법에는 다른 방법도 있지만 파이썬에서는 itertools에서 순열 라이브러리를 지원하기 때문에 순열을 이용하여 풀었다&lt;/p&gt;
&lt;p&gt;※ chain(*my_list) 은 2차원 리스트를 1차원 리스트로 만들어주는 역할을 한다&lt;/p&gt;
&lt;p&gt;소수 판별법에 관한 내용은 아래 게시물에 있다&lt;/p&gt;
&lt;figure id=&quot;og_1613056210083&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;article&quot; data-og-title=&quot;백준 19699번: 소-난다!&quot; data-og-description=&quot;백준 19699번: 소-난다! 19699번: 소-난다! 지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다. &quot; data-og-host=&quot;data-bank.tistory.com&quot; data-og-source-url=&quot;https://data-bank.tistory.com/41&quot; data-og-url=&quot;https://data-bank.tistory.com/41&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/uTfwU/hyJeDterkD/fu2HtKfPSkbkIMKUFKMI9K/img.png?width=800&amp;amp;height=491&amp;amp;face=0_0_800_491,https://scrap.kakaocdn.net/dn/3e6zh/hyJeuQBRYT/UWuawVszWANZhM0hfwav7K/img.png?width=800&amp;amp;height=491&amp;amp;face=0_0_800_491,https://scrap.kakaocdn.net/dn/byaAUG/hyJeEeBYLK/QLxWDHkusD5agPaJ8Rcpo0/img.png?width=1238&amp;amp;height=761&amp;amp;face=0_0_1238_761&quot;&gt;&lt;a href=&quot;https://data-bank.tistory.com/41&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://data-bank.tistory.com/41&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/uTfwU/hyJeDterkD/fu2HtKfPSkbkIMKUFKMI9K/img.png?width=800&amp;amp;height=491&amp;amp;face=0_0_800_491,https://scrap.kakaocdn.net/dn/3e6zh/hyJeuQBRYT/UWuawVszWANZhM0hfwav7K/img.png?width=800&amp;amp;height=491&amp;amp;face=0_0_800_491,https://scrap.kakaocdn.net/dn/byaAUG/hyJeEeBYLK/QLxWDHkusD5agPaJ8Rcpo0/img.png?width=1238&amp;amp;height=761&amp;amp;face=0_0_1238_761');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;백준 19699번: 소-난다!&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;백준 19699번: 소-난다! 19699번: 소-난다! 지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;data-bank.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/01bc28f109500308948e1282fe860d07.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/프로그래머스</category>
      <category>프로그래머스 문제</category>
      <category>프로그래머스 소수 찾기</category>
      <category>프로그래머스 소수 찾기 파이썬</category>
      <category>프로그래머스 코딩테스트</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/43</guid>
      <comments>https://data-bank.tistory.com/43#entry43comment</comments>
      <pubDate>Fri, 12 Feb 2021 00:12:34 +0900</pubDate>
    </item>
    <item>
      <title>백준 13335번: 트럭</title>
      <link>https://data-bank.tistory.com/42</link>
      <description>&lt;p&gt;백준 13335번: 트럭&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1578553250004&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;13335번: 트럭&quot; data-og-description=&quot;강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최대하중인 L보다 작거나 같아야 한다. 참고로, 다리 위에 완전히 올라가지 못한 트럭의 무게는 다리 위의 트럭들의 무게의 합을 계산할 때 포함하지 않는다고 가정한다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/13335&quot; data-og-url=&quot;https://www.acmicpc.net/problem/13335&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/13335&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/13335&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;13335번: 트럭&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최대하중인 L보다 작거나 같아야 한다. 참고로, 다리 위에 완전히 올라가지 못한 트럭의 무게는 다리 위의 트럭들의 무게의 합을 계산할 때 포함하지 않는다고 가정한다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYJSgD/btqVyURhJhq/ilQkAgC9KaXZLKLASSoFnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYJSgD/btqVyURhJhq/ilQkAgC9KaXZLKLASSoFnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYJSgD/btqVyURhJhq/ilQkAgC9KaXZLKLASSoFnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYJSgD%2FbtqVyURhJhq%2FilQkAgC9KaXZLKLASSoFnk%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;덱(deque)을 활용하여 풀었다&lt;/p&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;다리의 길이 w 길이를 가진 덱을 선언한다. 이 덱은 다리의 상황을 나타낸다&lt;/li&gt;
&lt;li&gt;트럭의 무게를 저장한 리스트가 빌 때까지 while문을 돌린다&amp;nbsp;
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;트럭의 무게를 저장한 리스트[0] + 덱의 요소들의 합 &amp;lt;= L(다리의 최대하중) 일 경우
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;덱의 가장 왼쪽에 (트럭의 무게를 저장한 리스트[0]) 을 추가하고 무게를 저장한 리스트에서는 pop()한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;트럭의 무게를 저장한 리스트[0] + 덱의 요소들의 합 &amp;gt; L(다리의 최대하중) 일 경우
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;트럭이 다리에 진입을 못하는 상황이다. 이 경우에는 다리에 있는 트럭들만 한 칸씩 이동하므로 덱의 가장 왼쪽에 0을 추가한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;time을 1 증가하고 덱의 가장 오른쪽을 pop()한다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;덱에 0만 남아 있을 경우에는 time을 출력하면 된다&lt;/li&gt;
&lt;li&gt;덱에 0 이외에 다른 숫자가 있는 경우
&lt;ul style=&quot;list-style-type: disc;&quot;&gt;
&lt;li&gt;이는 다리(덱)에 트럭이 남아 있는 경우이다&lt;/li&gt;
&lt;li&gt;덱의 왼쪽에서부터 탐색하여 0이 아닌 숫자가 저장된 곳을 찾아야 한다. 0이 아닌 곳을 찾으면 time + w - (0이 아닌 곳의 인덱스)를 출력하면 된다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;아래는 파이썬 코드이다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/7b7f76452b6c3ef2b3acb2b9e3622f50.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/백준 BOJ</category>
      <category>백준</category>
      <category>백준 13335</category>
      <category>백준 13335 파이썬</category>
      <category>백준 13335 풀이</category>
      <category>백준 13335번 파이썬 풀이</category>
      <category>백준 13335번 풀이</category>
      <category>백준13335번</category>
      <category>백준13335번 파이썬</category>
      <category>백준알고리즘</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/42</guid>
      <comments>https://data-bank.tistory.com/42#entry42comment</comments>
      <pubDate>Tue, 2 Feb 2021 17:29:43 +0900</pubDate>
    </item>
    <item>
      <title>백준 19699번: 소-난다!</title>
      <link>https://data-bank.tistory.com/41</link>
      <description>&lt;p&gt;백준 19699번: 소-난다!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure id=&quot;og_1578553250004&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;19699번: 소-난다!&quot; data-og-description=&quot;지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다. 그러던 어느 날, 꿀벌에게 쏘이면 잠깐 하늘을 날 수 있다는 사실을 깨달았다. 이 사실이 퍼지자 소들은 다시 자유롭게 하늘을 날기 시작했다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/19699&quot; data-og-url=&quot;https://www.acmicpc.net/problem/19699&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/19699&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/19699&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;19699번: 소-난다!&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다. 그러던 어느 날, 꿀벌에게 쏘이면 잠깐 하늘을 날 수 있다는 사실을 깨달았다. 이 사실이 퍼지자 소들은 다시 자유롭게 하늘을 날기 시작했다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baY5Pb/btqVdMTRyCJ/aJi27vbFJn8fxkBeIoVBJK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baY5Pb/btqVdMTRyCJ/aJi27vbFJn8fxkBeIoVBJK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baY5Pb/btqVdMTRyCJ/aJi27vbFJn8fxkBeIoVBJK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaY5Pb%2FbtqVdMTRyCJ%2FaJi27vbFJn8fxkBeIoVBJK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;조합과 소수판별법을 사용하면 풀 수 있는 문제이다&lt;/p&gt;
&lt;p&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;소들의 무게를 리스트에 저장한다&lt;/li&gt;
&lt;li&gt;파이썬 라이브러리를 사용하여 나올 수 있는 모든 조합을 구한다&lt;/li&gt;
&lt;li&gt;각 조합의 합이 소수인지 아닌지 판별한다. 소수이면 출력을 위한 리스트에 저장한다&lt;/li&gt;
&lt;li&gt;소수를 모아놓은 리스트에서 중복된 항목을 제거하기 위해서 set으로 변환한 뒤 다시 list로 바꾸어 sort한다&lt;/li&gt;
&lt;li&gt;리스트의 길이가 0이면 -1을 출력한다. 그 외에는 리스트의 항목을 순서대로 출력한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;아래 더보기는 소수판별법에 대한 내용&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p&gt;소수를 판별하는 법은 간단하다.&lt;/p&gt;
&lt;p&gt;N을 [2, &lt;span style=&quot;color: #333333;&quot;&gt;&amp;radic;&lt;/span&gt;N] 까지 나누어 보면 된다&lt;/p&gt;
&lt;p&gt;만약 위 범위 내에서 N이 정수로 나누어 떨어진다면 N은 소수가 아닌 것이다&lt;/p&gt;
&lt;p&gt;시간복잡도는 &lt;span data-mathml=&quot;&amp;lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&amp;gt;&amp;lt;mi&amp;gt;O&amp;lt;/mi&amp;gt;&amp;lt;mo stretchy=&amp;quot;false&amp;quot;&amp;gt;(&amp;lt;/mo&amp;gt;&amp;lt;msqrt&amp;gt;&amp;lt;mi&amp;gt;n&amp;lt;/mi&amp;gt;&amp;lt;/msqrt&amp;gt;&amp;lt;mo stretchy=&amp;quot;false&amp;quot;&amp;gt;)&amp;lt;/mo&amp;gt;&amp;lt;/math&amp;gt;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;O&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;radic;N&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; )&lt;span data-mathml=&quot;&amp;lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&amp;gt;&amp;lt;mi&amp;gt;O&amp;lt;/mi&amp;gt;&amp;lt;mo stretchy=&amp;quot;false&amp;quot;&amp;gt;(&amp;lt;/mo&amp;gt;&amp;lt;msqrt&amp;gt;&amp;lt;mi&amp;gt;n&amp;lt;/mi&amp;gt;&amp;lt;/msqrt&amp;gt;&amp;lt;mo stretchy=&amp;quot;false&amp;quot;&amp;gt;)&amp;lt;/mo&amp;gt;&amp;lt;/math&amp;gt;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;이다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/61a7c9dd7a8eed638d113a3a992f0b94.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/백준 BOJ</category>
      <category>백준</category>
      <category>백준 19699 알고리즘</category>
      <category>백준 19699번 알고리즘</category>
      <category>백준19699 풀이</category>
      <category>백준19699번</category>
      <category>백준19699번 파이썬풀이</category>
      <category>백준19699번파이썬</category>
      <category>백준19699번풀이</category>
      <category>백준19699파이썬</category>
      <category>뱍쥰19699번 파이썬 코드</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/41</guid>
      <comments>https://data-bank.tistory.com/41#entry41comment</comments>
      <pubDate>Sun, 31 Jan 2021 16:00:24 +0900</pubDate>
    </item>
    <item>
      <title>백준 1669번: 멍멍이 쓰다듬기</title>
      <link>https://data-bank.tistory.com/40</link>
      <description>&lt;p&gt;백준 1669번: 멍멍이 쓰다듬기&lt;/p&gt;
&lt;figure id=&quot;og_1578553250004&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1669번: 멍멍이 쓰다듬기&quot; data-og-description=&quot;동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그러다 오늘도 어김없이 그의 영원한 라이벌 멍멍이를 만나게 되었다. 원숭이는 멍멍이를 쓰다듬고 싶었다. 하지만 원숭이는 멍멍이보다 키가 작기 때문에 멍멍이를 쓰다듬어줄 수 없다. 원숭이가 멍멍이를 쓰다듬으려면 둘의 키가 같아야 하기 때문이다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1669&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1669&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1669&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1669&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;1669번: 멍멍이 쓰다듬기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그러다 오늘도 어김없이 그의 영원한 라이벌 멍멍이를 만나게 되었다. 원숭이는 멍멍이를 쓰다듬고 싶었다. 하지만 원숭이는 멍멍이보다 키가 작기 때문에 멍멍이를 쓰다듬어줄 수 없다. 원숭이가 멍멍이를 쓰다듬으려면 둘의 키가 같아야 하기 때문이다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhgYxY/btqTfDMD6Dw/BVnmifQDlnysKTq2ZeMwh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhgYxY/btqTfDMD6Dw/BVnmifQDlnysKTq2ZeMwh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhgYxY/btqTfDMD6Dw/BVnmifQDlnysKTq2ZeMwh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhgYxY%2FbtqTfDMD6Dw%2FBVnmifQDlnysKTq2ZeMwh1%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1) X = Y인 경우는 0을 출력하면 된다&lt;/p&gt;
&lt;p&gt;루트(Y - X)를 N이라 하자&lt;/p&gt;
&lt;p&gt;2) N이 정수인 경우 (2 * N - 1)을 출력한다&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- N이 정수인 경우는 1, 2, 3, 2, 1 cm 와 같이 계단식이기 때문이다&lt;/p&gt;
&lt;p&gt;3) 루트(Y- X)가 정수가 아닌 경우&lt;/p&gt;
&lt;p&gt;(Y - X) - (N의 정수부의 제곱)을 Z라 하자&lt;/p&gt;
&lt;p&gt;Z가 의미하는 것은 경우(2)와 같이 계단식으로 증감을 하고 난 뒤의 Y와 X의 차이다. X와 Y가 같아져야 되는 최소의 일수를 구해야 하므로 Z만큼 X의 크기를 증가시키면 된다.&lt;/p&gt;
&lt;p&gt;3-1) Z가 N보다 작거나 같다면 (2 * N)을 출력한다&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; - Z가 N보다 작다면 하루만 더 사용하면 된다&lt;/p&gt;
&lt;p&gt;3-2) Z가 N보다 크면 (2 * N + 1)을 출력한다&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;- Z가 N보다 크면 1 ~ N까지의 수들 중 2개 합으로 Z를 만들어야 하므로 이틀을 더 사용해야 한다\&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아래는 파이썬 코드이다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/e83dd1d5d1b92c78365fc26f3b51c187.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/백준 BOJ</category>
      <category>멍멍이 쓰다듬기 풀이</category>
      <category>백준 1669 파이썬 풀이</category>
      <category>백준 1669번 파이썬 풀이</category>
      <category>백준 멍멍이 쓰다듬기</category>
      <category>백준 멍멍이 쓰다듬기 풀이</category>
      <category>백준1669 파이썬</category>
      <category>백준1669번</category>
      <category>백준1669번 파이썬</category>
      <category>백준1669풀이</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/40</guid>
      <comments>https://data-bank.tistory.com/40#entry40comment</comments>
      <pubDate>Wed, 13 Jan 2021 02:44:29 +0900</pubDate>
    </item>
    <item>
      <title>백준 1339번: 단어 수학</title>
      <link>https://data-bank.tistory.com/39</link>
      <description>&lt;p&gt;백준 1339번: 단어 수학&lt;/p&gt;
&lt;figure id=&quot;og_1578553250004&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1339번번: 순회강연&quot; data-og-description=&quot;단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1339&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1339&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1339&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1339&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/XpHJS/hyEvFa8twu/nHypZAZGXaOjt7rjvqkYFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;1339번: 단어 수학&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eeo5JO/btqS4NgCRqX/ITBFOWhu9p43KzEZnQmp90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eeo5JO/btqS4NgCRqX/ITBFOWhu9p43KzEZnQmp90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eeo5JO/btqS4NgCRqX/ITBFOWhu9p43KzEZnQmp90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Feeo5JO%2FbtqS4NgCRqX%2FITBFOWhu9p43KzEZnQmp90%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;백트래킹을 활용한 풀이도 있지만 그보다 덧셈식을 활용한 풀이가 더 좋다고 생각하여 덧셈식을 활용하여 풀었다&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;N = 2, GCF + ACDEB 와 같은 입력이 주어진다고 가정하자&lt;/li&gt;
&lt;li&gt;각 알파벳과 자릿수를 계산하면 ((G * 100) + (C * 10) + (F * 1)) + ((A * 10000) + (C * 1000) + (D * 100) + (E * 10) + (B * 1)) 와 같이 나타낼 수 있다&lt;/li&gt;
&lt;li&gt;계수를 알파벳에 따른 내림차순으로 정리하면 (A * 10000) + (C * 1010) + (D * 100) + (G * 100) + (C * 10) + (E * 10) + (B * 1) + (F * 1) 와 같이 나타낼 수 있다&lt;/li&gt;
&lt;li&gt;계수가 큰 알파벳부터 9부터 0까지 수를 부여하면 된다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;아래는 파이썬 코드이다&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src=&quot;https://gist.github.com/HyeonJaePark/17d76524a3391702a6637a40ca1deabd.js&quot;&gt;&lt;/script&gt;</description>
      <category>Programming/백준 BOJ</category>
      <category>boj</category>
      <category>백준</category>
      <category>백준 단어수학</category>
      <category>백준1339</category>
      <category>백준1339번</category>
      <category>백준1339번 파이썬풀이</category>
      <category>백준1339번파이썬</category>
      <category>백준1339번풀이</category>
      <category>백준1339파이썬</category>
      <category>백준1339풀이</category>
      <author>H.J.Park</author>
      <guid isPermaLink="true">https://data-bank.tistory.com/39</guid>
      <comments>https://data-bank.tistory.com/39#entry39comment</comments>
      <pubDate>Mon, 11 Jan 2021 06:21:05 +0900</pubDate>
    </item>
  </channel>
</rss>