<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>S-SH</title>
    <link>https://s-sh.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Fri, 10 Apr 2026 09:36:49 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>shin-sh</managingEditor>
    <item>
      <title>[42seoul] minirt 시작하기!</title>
      <link>https://s-sh.tistory.com/20</link>
      <description>&lt;div style=&quot;display:none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;42_banner_dark.png&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;300&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/6bpjp/btq2goftNLF/KPIQFEsMLCa95F3j5SjHs0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/6bpjp/btq2goftNLF/KPIQFEsMLCa95F3j5SjHs0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/6bpjp/btq2goftNLF/KPIQFEsMLCa95F3j5SjHs0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6bpjp%2Fbtq2goftNLF%2FKPIQFEsMLCa95F3j5SjHs0%2Fimg.png&quot; data-filename=&quot;42_banner_dark.png&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;300&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;/div&gt;
&lt;h2&gt;포스팅을 하게된 이유&lt;/h2&gt;
&lt;hr style=&quot;caret-color: #000000; color: #000000; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;&quot; /&gt;
&lt;p&gt;많은 분들이 minirt에 대해 번역도 잘 해주고 라이브러리 활용법도 잘 안내해주어서 시작은 쉬웠지만... 초보자(=저)의 입장에서는 한글을 알아도 코드를 이해하지 못하는 경우가 많이 발생했습니다 ㅜㅜ&lt;/p&gt;
&lt;p&gt;제가 생각한 minirt과제는 3차원상의 벡터에 대해 이해하고 해당 벡터에 대한 연산을 코드로 풀어내는 것이 가장 중요한점이라고 생각했습니다.&lt;/p&gt;
&lt;p&gt;단순히 코드를 따라하는 것이 아니라 한줄 한줄 코드를 이해하는 것이 minirt의 핵심이고 해당 지점 마다 필요한 연산을 이해하는 것이 중요하다고 느꼈습니다..!!! &lt;/p&gt;
&lt;p&gt;저도 과정을 진행하면서 적는거라 빠진 부분이 있을 수 있습니다!&lt;/p&gt;
&lt;p&gt;잘못된부분을 발견한다면 DM주세용^_^&lt;/p&gt;
&lt;h2&gt;이번 포스팅들의 관점!?&lt;/h2&gt;
&lt;hr style=&quot;caret-color: #000000; color: #000000; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;&quot; /&gt;
&lt;ul&gt;
&lt;li&gt;벡터에 대해서 이해하기! &lt;/li&gt;
&lt;li&gt;Raytracing in one weekend에 나오는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;모든 수식 그림으로 이해&lt;/b&gt;하기!&lt;/li&gt;
&lt;li&gt;Raytracing in one weekend에 나오는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;모든 수식 C 코드로 변환&lt;/b&gt;하기!&lt;/li&gt;
&lt;li&gt;열공..!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;시작하기!!&lt;/h2&gt;
&lt;hr style=&quot;caret-color: #000000; color: #000000; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;&quot; /&gt;
&lt;p&gt;이제 바로 공부하러 가봅시당!!&lt;/p&gt;</description>
      <category>ssh$/42서울</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/20</guid>
      <comments>https://s-sh.tistory.com/20#entry20comment</comments>
      <pubDate>Sat, 10 Apr 2021 13:24:13 +0900</pubDate>
    </item>
    <item>
      <title>양념 반 후라이드 반</title>
      <link>https://s-sh.tistory.com/19</link>
      <description>&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/16917&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/16917&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;display: none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0CYwy/btq2krutDHo/pegaS2EGgcPUMKSQQRNgJ0/tfile.svg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0CYwy/btq2krutDHo/pegaS2EGgcPUMKSQQRNgJ0/tfile.svg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0CYwy/btq2krutDHo/pegaS2EGgcPUMKSQQRNgJ0/tfile.svg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0CYwy%2Fbtq2krutDHo%2FpegaS2EGgcPUMKSQQRNgJ0%2Ftfile.svg&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&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;/div&gt;
&lt;article id=&quot;97eb9136-b419-4b61-baea-d6a2af94aac8&quot; class=&quot;page sans Notion_P&quot;&gt;
&lt;div class=&quot;page-body&quot;&gt;
&lt;p id=&quot;a2ef6a34-32f3-41bc-9dd9-cf5ec08b3338&quot; class=&quot;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;176598a3-07dc-4533-9d85-310eab749716&quot; class=&quot;&quot;&gt;Memo&lt;/h2&gt;
&lt;hr id=&quot;48787046-7ace-4413-8120-ee90f85355d8&quot; /&gt;
&lt;ul id=&quot;e26770fa-e30c-49e5-98a8-1c540286f1c5&quot; class=&quot;bulleted-list&quot;&gt;
&lt;li&gt;양념 1마리를 사는 경우보다 후라이드가 남더라도 반반 2마리를 사는게 싸다면 반반 두마리를 사도록 해야한다!&lt;/li&gt;
&lt;/ul&gt;
&lt;p id=&quot;7cddca7d-876f-400b-9060-003446f99afb&quot; class=&quot;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;0ab89dbf-e47c-4baa-89c9-7241796038c8&quot; class=&quot;&quot;&gt;Code&lt;/h2&gt;
&lt;hr id=&quot;181def27-e11a-41bf-b127-a3e17cce301a&quot; /&gt;
&lt;div id=&quot;1bafd61a-0b2f-4288-9cec-896d2b38db05&quot; class=&quot;column-list&quot;&gt;
&lt;div id=&quot;6a571389-8351-46a1-9960-fd4d73875f85&quot; class=&quot;column&quot; style=&quot;width: 33.333333333333336%;&quot;&gt;
&lt;h3 id=&quot;6c5dd5f8-049b-4ab9-af6c-2a0fcd396f15&quot; class=&quot;&quot;&gt;제출 날짜&lt;/h3&gt;
&lt;time&gt;@2021/04/08&lt;/time&gt;&lt;/div&gt;
&lt;div id=&quot;d0c917b4-a717-4289-8c9e-98b4b53dd37f&quot; class=&quot;column&quot; style=&quot;width: 33.333333333333336%;&quot;&gt;
&lt;h3 id=&quot;301dccb1-2d10-4f54-8571-4ab196578264&quot; class=&quot;&quot;&gt;메모리&lt;/h3&gt;
&lt;p id=&quot;b7d5bf71-2667-448c-bcb7-8e502e6d3938&quot; class=&quot;&quot;&gt;2016 &lt;b&gt;KB&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;bab6af8b-5a44-49f9-bf74-a7ba71c96509&quot; class=&quot;column&quot; style=&quot;width: 33.33333333333333%;&quot;&gt;
&lt;h3 id=&quot;a4a751bf-4220-4f60-8e49-4af173f4a0c3&quot; class=&quot;&quot;&gt;시간&lt;/h3&gt;
&lt;p id=&quot;e971961d-4edc-4243-9e81-97e7430be9c4&quot; class=&quot;&quot;&gt;0 &lt;b&gt;ms&lt;/b&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre id=&quot;2208da30-288c-4958-bf93-1e6c2104617e&quot; class=&quot;code code-wrap arduino&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;


int A, B, C, x, y, result;

void output()
{
	std::cout &amp;lt;&amp;lt; result;
}

void solution()
{
	result = (C * 2 &amp;lt; A + B)
			 ? 2 * std::min(x, y) * C + (x - std::min(x, y)) * std::min(A, 2 * C) + (y - std::min(x, y)) * std::min(B, 2 * C) \
			 : result = x * A + y * B;

}

void input()
{
	std::cin &amp;gt;&amp;gt; A &amp;gt;&amp;gt; B &amp;gt;&amp;gt; C &amp;gt;&amp;gt; x &amp;gt;&amp;gt; y;
}

void preset()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(NULL);
	std::cout.tie(NULL);
}

int main()
{
	preset();
	input();
	solution();
	output();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p id=&quot;d8595ab9-9ee0-41e5-8df4-541e43cdb11a&quot; class=&quot;&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;n2t_comment&quot;&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;block-color-gray&quot;&gt;&lt;a href=&quot;https://boltlessengineer.github.io/Notion2Tistory&quot;&gt;Uploaded by Notion2Tistory v1.1.0&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;</description>
      <category>ssh$/알고리즘</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/19</guid>
      <comments>https://s-sh.tistory.com/19#entry19comment</comments>
      <pubDate>Sat, 10 Apr 2021 13:22:15 +0900</pubDate>
    </item>
    <item>
      <title>[C++] 2003 BOJ 수들의 합 2</title>
      <link>https://s-sh.tistory.com/18</link>
      <description>&lt;div style=&quot;display: none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chNpij/btq2gozG6YB/qoFOI7zgrlYHsvFY6dySBK/tfile.svg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chNpij/btq2gozG6YB/qoFOI7zgrlYHsvFY6dySBK/tfile.svg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chNpij/btq2gozG6YB/qoFOI7zgrlYHsvFY6dySBK/tfile.svg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchNpij%2Fbtq2gozG6YB%2FqoFOI7zgrlYHsvFY6dySBK%2Ftfile.svg&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&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;/div&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/2003&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/2003&lt;/a&gt;&lt;/h2&gt;
&lt;figure id=&quot;og_1618028289079&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;2003번: 수들의 합 2&quot; data-og-description=&quot;첫째 줄에 N(1 &amp;le; N &amp;le; 10,000), M(1 &amp;le; M &amp;le; 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], &amp;hellip;, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/2003&quot; data-og-url=&quot;https://www.acmicpc.net/problem/2003&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cjUc2d/hyJQMvcmM1/y205Xn9vtb4Tb1kzUwoSnk/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/2003&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/2003&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cjUc2d/hyJQMvcmM1/y205Xn9vtb4Tb1kzUwoSnk/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;2003번: 수들의 합 2&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;첫째 줄에 N(1 &amp;le; N &amp;le; 10,000), M(1 &amp;le; M &amp;le; 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], &amp;hellip;, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.&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;h2&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;Memo&lt;/h2&gt;
&lt;hr /&gt;
&lt;ul&gt;
&lt;li&gt;투포인터&lt;/li&gt;
&lt;li&gt;어렵당..&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Code&lt;/h2&gt;
&lt;hr /&gt;
&lt;h3&gt;제출 날짜&lt;/h3&gt;
&lt;p&gt;@2021/04/08&lt;/p&gt;
&lt;h3&gt;메모리&lt;/h3&gt;
&lt;p&gt;2176 &lt;b&gt;KB&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;시간&lt;/h3&gt;
&lt;p&gt;0 &lt;b&gt;ms&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;algorithm&amp;gt;

int N, M, result;
std::vector&amp;lt;int&amp;gt; arr;

void output()
{
    std::cout &amp;lt;&amp;lt; result;
}

void solution()
{
    int start = 0, end = 0, sum = 0;

    for(;;)
    {
        if (sum &amp;gt;= M)
        {
            sum -= arr[start];
            ++start;
        }
        else if (end == N)
            break;
        else
        {
            sum += arr[end];
            ++end;
        }

        if (sum == M)
            ++result;
    }
}

void input()
{
    std::cin &amp;gt;&amp;gt; N &amp;gt;&amp;gt; M;
    arr.resize(N);
    for(auto&amp;amp; i : arr)
        std::cin &amp;gt;&amp;gt; i;
}

void preset()
{
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(NULL);
    std::cout.tie(NULL);
}

int main()
{
    preset();
    input();
    solution();
    output();
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>ssh$/알고리즘</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/18</guid>
      <comments>https://s-sh.tistory.com/18#entry18comment</comments>
      <pubDate>Sat, 10 Apr 2021 13:16:16 +0900</pubDate>
    </item>
    <item>
      <title>보고서 이미지 링크용</title>
      <link>https://s-sh.tistory.com/17</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;2160&quot; data-origin-height=&quot;2160&quot; data-filename=&quot;IMG_8886.JPG&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dXbT3j/btqZpVSSPKd/kI6Dcn0NdSVmOWu8k36xD0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dXbT3j/btqZpVSSPKd/kI6Dcn0NdSVmOWu8k36xD0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dXbT3j/btqZpVSSPKd/kI6Dcn0NdSVmOWu8k36xD0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdXbT3j%2FbtqZpVSSPKd%2FkI6Dcn0NdSVmOWu8k36xD0%2Fimg.jpg&quot; data-origin-width=&quot;2160&quot; data-origin-height=&quot;2160&quot; data-filename=&quot;IMG_8886.JPG&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;</description>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/17</guid>
      <comments>https://s-sh.tistory.com/17#entry17comment</comments>
      <pubDate>Fri, 5 Mar 2021 19:44:48 +0900</pubDate>
    </item>
    <item>
      <title>notion이미지 링크용</title>
      <link>https://s-sh.tistory.com/16</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;img_42.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7Rt66/btqYLyX8cDI/ia4efrLTxvzw1wQyE2VJ8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7Rt66/btqYLyX8cDI/ia4efrLTxvzw1wQyE2VJ8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7Rt66/btqYLyX8cDI/ia4efrLTxvzw1wQyE2VJ8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7Rt66%2FbtqYLyX8cDI%2Fia4efrLTxvzw1wQyE2VJ8k%2Fimg.png&quot; data-filename=&quot;img_42.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2021-03-01 오전 12.28.28.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hi4Fs/btqYDjhCE9q/ZgVktU3LQj34GJdkmOVdV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hi4Fs/btqYDjhCE9q/ZgVktU3LQj34GJdkmOVdV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hi4Fs/btqYDjhCE9q/ZgVktU3LQj34GJdkmOVdV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHi4Fs%2FbtqYDjhCE9q%2FZgVktU3LQj34GJdkmOVdV1%2Fimg.png&quot; data-filename=&quot;스크린샷 2021-03-01 오전 12.28.28.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2021-03-01 오전 12.28.49.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4hiCx/btqYTN2cx8z/7dg9bZhDt8WKz5T0lbiSkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4hiCx/btqYTN2cx8z/7dg9bZhDt8WKz5T0lbiSkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4hiCx/btqYTN2cx8z/7dg9bZhDt8WKz5T0lbiSkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4hiCx%2FbtqYTN2cx8z%2F7dg9bZhDt8WKz5T0lbiSkK%2Fimg.png&quot; data-filename=&quot;스크린샷 2021-03-01 오전 12.28.49.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2021-03-01 오전 12.30.33.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ofFaV/btqYQvU3Ztj/IJzZtxCZPcLrzvFLNKly50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ofFaV/btqYQvU3Ztj/IJzZtxCZPcLrzvFLNKly50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ofFaV/btqYQvU3Ztj/IJzZtxCZPcLrzvFLNKly50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FofFaV%2FbtqYQvU3Ztj%2FIJzZtxCZPcLrzvFLNKly50%2Fimg.png&quot; data-filename=&quot;스크린샷 2021-03-01 오전 12.30.33.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;무제-1.png&quot; data-origin-width=&quot;91&quot; data-origin-height=&quot;172&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5b7AL/btqYLyw3Un7/o3zNUFSSieJghanP2Hm1Wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5b7AL/btqYLyw3Un7/o3zNUFSSieJghanP2Hm1Wk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5b7AL/btqYLyw3Un7/o3zNUFSSieJghanP2Hm1Wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5b7AL%2FbtqYLyw3Un7%2Fo3zNUFSSieJghanP2Hm1Wk%2Fimg.png&quot; data-filename=&quot;무제-1.png&quot; data-origin-width=&quot;91&quot; data-origin-height=&quot;172&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;img_algo.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HfRls/btqYB535KvY/whR6XKi39EyfHwjYUKJJMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HfRls/btqYB535KvY/whR6XKi39EyfHwjYUKJJMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HfRls/btqYB535KvY/whR6XKi39EyfHwjYUKJJMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHfRls%2FbtqYB535KvY%2FwhR6XKi39EyfHwjYUKJJMK%2Fimg.png&quot; data-filename=&quot;img_algo.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;right.png&quot; data-origin-width=&quot;91&quot; data-origin-height=&quot;172&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VNSIt/btqYxpvhOsD/RAiM5KtxiIM54U1a3jCcP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VNSIt/btqYxpvhOsD/RAiM5KtxiIM54U1a3jCcP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VNSIt/btqYxpvhOsD/RAiM5KtxiIM54U1a3jCcP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVNSIt%2FbtqYxpvhOsD%2FRAiM5KtxiIM54U1a3jCcP1%2Fimg.png&quot; data-filename=&quot;right.png&quot; data-origin-width=&quot;91&quot; data-origin-height=&quot;172&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;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;img_doodle.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uFtSb/btqYIj8g8Ob/1yYRiSsOHKssKqXaHsH2w1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uFtSb/btqYIj8g8Ob/1yYRiSsOHKssKqXaHsH2w1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uFtSb/btqYIj8g8Ob/1yYRiSsOHKssKqXaHsH2w1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuFtSb%2FbtqYIj8g8Ob%2F1yYRiSsOHKssKqXaHsH2w1%2Fimg.png&quot; data-filename=&quot;img_doodle.png&quot; data-origin-width=&quot;3584&quot; data-origin-height=&quot;2240&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;</description>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/16</guid>
      <comments>https://s-sh.tistory.com/16#entry16comment</comments>
      <pubDate>Fri, 26 Feb 2021 21:35:23 +0900</pubDate>
    </item>
    <item>
      <title>Dev) 자동화 프로그램으로 README를 꾸며보자!</title>
      <link>https://s-sh.tistory.com/15</link>
      <description>&lt;h1&gt;1. README.md란?&lt;/h1&gt;
&lt;p&gt;프로젝트의 설명뿐만이 아닌 사용방법, LICENSE, 설치법과 같은 설명이 필요한 부분에 대해서 기술하는 파일이다. 주로 Github Repository의 Main Page로서 작동한다.&lt;/p&gt;
&lt;p&gt;README는 오랜 시간이 지난 레포지토리를 다시 찾아보거나, 함께 작업하는 동료들과 협업을 하거나, 다른 사용자들을 위해 해당 repository에 대한 직관적이고 간략한 설명서와 같은 것이다! 각 repository의 메인 페이지로, 나중을 위해, 혹시나 나의 공간을 방문할 다른 사용자들을 위해서라도 조금은 신경 써서 만들어 보자!&lt;/p&gt;
&lt;h1&gt;2. Readme 를 목적에 맞게 꾸며보자!&lt;/h1&gt;
&lt;p&gt;아래는 알고리즘 스터디를 하면서 간단하게 만들어본 Readme의 구성이다. Markdown 잘 활용하면 노션 디자인처럼 매우 이쁘게 Readme를 꾸밀 수 있지만, Readme는 가독성이 높게 필요한 정보만 딱 나열하는 것이 더 좋아 보였다.&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; width=&quot;600&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cce2y4/btqW8GquU7i/yM2wTr7yMrSY4KetAllsmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cce2y4/btqW8GquU7i/yM2wTr7yMrSY4KetAllsmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cce2y4/btqW8GquU7i/yM2wTr7yMrSY4KetAllsmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcce2y4%2FbtqW8GquU7i%2FyM2wTr7yMrSY4KetAllsmK%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;600&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;해당 주차에 풀었던 백준 문제 번호와 상태를 나타낸 표로 깔끔하게 구성해 보았다. 알고리즘 분류에 맞게 스터디 커리큘럼이 되어있으므로 각 파트별로 번호를 매겨 나누어 두었다.&lt;/p&gt;
&lt;p&gt;하지만 매 주차마다 문제를 풀고 링크를 걸고... 여간 까다로운 일이 아니다. 역시 인간은 귀찮을 때 발전하는 것 같다. 아래에서 원하는 목적에 맞는 코드를 작성하여 Readme작성을 도와주는 프로그램을 만들어 보자.&lt;/p&gt;
&lt;h1&gt;3. Markdown 양식에 맞는 라인을 자동으로 작성해주는 코드를 만들어보자!&lt;/h1&gt;
&lt;pre id=&quot;code_1613225444724&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// Github Markdown AutoLink Code

#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;

std::vector&amp;lt;std::pair&amp;lt;std::vector&amp;lt;int &amp;gt;, int&amp;gt; &amp;gt; questions;
std::vector&amp;lt;std::string&amp;gt; status = {&quot;Ongoing&quot;, &quot;Incomplete&quot;, &quot;Complete&quot;};
std::string directory_name = &quot;week_&quot;;
std::string question_name = &quot;day_&quot;;
int question_cnt;
int week;
int week_cnt;

void input_check()
{
	//
}

void input()
{
	week_cnt = 1;
	std::cout &amp;lt;&amp;lt; &quot;* 몇 주차 부터 등록하실 건가요?\t\t&quot;;
	std::cin &amp;gt;&amp;gt; week;
	std::cout &amp;lt;&amp;lt; &quot;* 몇 주치를 등록하실 건가요?   \t\t&quot;;
	std::cin &amp;gt;&amp;gt; week_cnt;
	std::cout &amp;lt;&amp;lt; std::endl;
	questions.resize(week_cnt);
	for (int i = 0 ; i &amp;lt; week_cnt ; i++)
	{
		std::cout &amp;lt;&amp;lt; &quot;-----------------&amp;lt; week &quot; &amp;lt;&amp;lt; week + i &amp;lt;&amp;lt; &quot; &amp;gt;----------------\n&quot;; 
		std::cout &amp;lt;&amp;lt; &quot;1. 이번주에 몇 문제를 풀었나요?\t\t&quot;;
		std::cin &amp;gt;&amp;gt; question_cnt;
		questions[i].first.resize(question_cnt);
		std::cout &amp;lt;&amp;lt; &quot;2. 문제 번호를 입력하세요 !\n&quot;;
		for (int j = 0 ; j &amp;lt; question_cnt ; j++)
		{
			std::cout &amp;lt;&amp;lt; &quot;Question &quot; &amp;lt;&amp;lt; j + 1 &amp;lt;&amp;lt; &quot; : &quot;;
			std::cin &amp;gt;&amp;gt; questions[i].first[j];
		}
		std::cout &amp;lt;&amp;lt; &quot;3. 이주의 Status ? (Ongoing : 0 / Incomplete : 1 / Complete : 2)\nStatus : &quot;;	
		std::cin &amp;gt;&amp;gt; questions[i].second;
		std::cout &amp;lt;&amp;lt; std::endl;
	}
}

int main()
{
	input();

	std::cout &amp;lt;&amp;lt; &quot;******************* Result ********************\n\n&quot;;
	for (int i =  week; i &amp;lt; week + week_cnt ; i++)
	{
		std::cout &amp;lt;&amp;lt; &quot;|[week_&quot; &amp;lt;&amp;lt; i  &amp;lt;&amp;lt; &quot;](/&quot; &amp;lt;&amp;lt; directory_name &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &quot;)|&quot; ;
		for (size_t j = 0 ; j &amp;lt; questions[i - week].first.size() ; j++)
		{
			std::cout &amp;lt;&amp;lt; &quot;[&quot; &amp;lt;&amp;lt; questions[i - week].first[j] &amp;lt;&amp;lt; &quot;](/&quot; &amp;lt;&amp;lt; directory_name &amp;lt;&amp;lt; i
				&amp;lt;&amp;lt; &quot;/&quot; &amp;lt;&amp;lt; question_name &amp;lt;&amp;lt; j + 1  &amp;lt;&amp;lt;&quot;.cpp) &quot;;
		}
		std::cout &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; status[questions[i - week].second] &amp;lt;&amp;lt; &quot;|&quot; &amp;lt;&amp;lt; std::endl;
	}
	std::cout &amp;lt;&amp;lt; std::endl;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;위의 코드를 실행하면 아래와 같이 작동한다. 간단하게 작동 방식을 녹화해 보았다!!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cYrIlS/btqWX55JM7E/ZEOlqQifESWHGbkOAApXv0/%ED%99%94%EB%A9%B4%20%EA%B8%B0%EB%A1%9D%202021-02-13%20%EC%98%A4%ED%9B%84%208.08.29.mov?attach=1&amp;amp;knm=tfile.mov&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;화면 기록 2021-02-13 오후 8.08.29.mov&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;4.26MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위에서 나온 라인을 복사해서 원하는 위치에 붙여 넣기만 한다면 아래와 같이 이쁘게 링크까지 설정되어 들어간 것을 알 수 있다! 이제 우리는 git push만 하면 된다! 간단한 링크와 테이블을 활용해서 심심한 README를 예쁘게 꾸며보았다.&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; width=&quot;450&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmtRDe/btqW4gZWs2Q/1iVKLLwHXmbSn9ed0Zdx40/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmtRDe/btqW4gZWs2Q/1iVKLLwHXmbSn9ed0Zdx40/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmtRDe/btqW4gZWs2Q/1iVKLLwHXmbSn9ed0Zdx40/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmtRDe%2FbtqW4gZWs2Q%2F1iVKLLwHXmbSn9ed0Zdx40%2Fimg.png&quot; data-origin-width=&quot;0&quot; data-origin-height=&quot;0&quot; width=&quot;450&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;위 코드는 나의 directory구조와 file name을 참고하여 만든 코드이기 때문에 각자 본인만의 코드를 활용해서 편하게 README를 꾸며보길 바란다 &lt;/p&gt;</description>
      <category>개발/개발 일반</category>
      <category>markdown</category>
      <category>readme</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/15</guid>
      <comments>https://s-sh.tistory.com/15#entry15comment</comments>
      <pubDate>Sat, 13 Feb 2021 23:09:58 +0900</pubDate>
    </item>
    <item>
      <title>Notion) 학습 스터디를 위한 노션 디자인!</title>
      <link>https://s-sh.tistory.com/14</link>
      <description>&lt;div style=&quot;display: none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;desk-3076954_1920.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1278&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hrhax/btqV36KNpm6/lIR0vWzBTzNEghuIoWIzUk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hrhax/btqV36KNpm6/lIR0vWzBTzNEghuIoWIzUk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hrhax/btqV36KNpm6/lIR0vWzBTzNEghuIoWIzUk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHrhax%2FbtqV36KNpm6%2FlIR0vWzBTzNEghuIoWIzUk%2Fimg.jpg&quot; data-filename=&quot;desk-3076954_1920.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1278&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;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 스터디 홈 화면&lt;/h2&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;자주 사용하는 공간인 Study 블록을 가운데 위치시켜 빠르게 원하는 위치로 이동할 수 있게 하였다&lt;/li&gt;
&lt;li&gt;스터디에서 공부한 내용들을 정리하는 개인 끄적끄적 페이지가 중요하기 때문에 오른쪽 절반의 공간을 할당해 핵심 내용들과 개인이 표시하고 싶은 정보들을 표현할 수 있게 하였다&lt;/li&gt;
&lt;li&gt;달력을 아래 크게 배치해서 잘려서 보이지 않던 일정들도 쉽게 확인할 수 있게 하였다&lt;/li&gt;
&lt;li&gt;사용하지 않는 블록들을 모아두는 공간은 토글로 만들어서 언제든 접을 수 있게 만들었다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2021-02-07 오후 5.16.20.png&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;1974&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lcJis/btqV8F0rSv2/rEDFfNvR4iWkRM5dE00b4k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lcJis/btqV8F0rSv2/rEDFfNvR4iWkRM5dE00b4k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lcJis/btqV8F0rSv2/rEDFfNvR4iWkRM5dE00b4k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlcJis%2FbtqV8F0rSv2%2FrEDFfNvR4iWkRM5dE00b4k%2Fimg.png&quot; data-filename=&quot;스크린샷 2021-02-07 오후 5.16.20.png&quot; data-origin-width=&quot;1686&quot; data-origin-height=&quot;1974&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;h2 data-ke-size=&quot;size26&quot;&gt;2. 개인 페이지 화면&lt;/h2&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;to-do list를 가운데 두면서 해야할 일들이 가장 먼저 눈에 들어오도록 만들었다&lt;/li&gt;
&lt;li&gt;이후 아래쪽에 개인적으로 정리하는 내용들에 대한 페이지와 설명들, 그리고 타임라인을 만들어두었다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2021-02-07 오후 5.16.49.png&quot; data-origin-width=&quot;1692&quot; data-origin-height=&quot;2030&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RVD51/btqV8FlPWUB/1hiKw4m6n7ecMjP3JuGn90/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RVD51/btqV8FlPWUB/1hiKw4m6n7ecMjP3JuGn90/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RVD51/btqV8FlPWUB/1hiKw4m6n7ecMjP3JuGn90/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRVD51%2FbtqV8FlPWUB%2F1hiKw4m6n7ecMjP3JuGn90%2Fimg.png&quot; data-filename=&quot;스크린샷 2021-02-07 오후 5.16.49.png&quot; data-origin-width=&quot;1692&quot; data-origin-height=&quot;2030&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;</description>
      <category>ssh$/스터디(AFN)</category>
      <category>노션</category>
      <category>노션공부테마</category>
      <category>노션디자인</category>
      <category>노션스터디템플릿</category>
      <category>노션임베드</category>
      <category>노션템플릿</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/14</guid>
      <comments>https://s-sh.tistory.com/14#entry14comment</comments>
      <pubDate>Sun, 7 Feb 2021 17:25:32 +0900</pubDate>
    </item>
    <item>
      <title>BOJ) 2193 이친수 &amp;lt;C++&amp;gt;</title>
      <link>https://s-sh.tistory.com/13</link>
      <description>&lt;div style=&quot;display: none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dc26eA/btqUSpMplOE/jKHm5IsBXniNGv3VuyCFL0/tfile.svg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dc26eA/btqUSpMplOE/jKHm5IsBXniNGv3VuyCFL0/tfile.svg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dc26eA/btqUSpMplOE/jKHm5IsBXniNGv3VuyCFL0/tfile.svg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdc26eA%2FbtqUSpMplOE%2FjKHm5IsBXniNGv3VuyCFL0%2Ftfile.svg&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&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;/div&gt;
&lt;h3&gt;문제&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/2193&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.acmicpc.net/problem/2193&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1611754087274&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;2193번: 이친수&quot; data-og-description=&quot;0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/2193&quot; data-og-url=&quot;https://www.acmicpc.net/problem/2193&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/s0Ue7/hyI4qhaoZD/QioKkkkcxZpwnC8NRX9Khk/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/2193&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/2193&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/s0Ue7/hyI4qhaoZD/QioKkkkcxZpwnC8NRX9Khk/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;2193번: 이친수&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않&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;0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이친수는 0으로 시작하지 않는다.&lt;/li&gt;
&lt;li&gt;이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.&lt;/p&gt;
&lt;p&gt;N(1 &amp;le; N &amp;le; 90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;h3&gt;로직&lt;/h3&gt;
&lt;p&gt;이번 문제는 위의 조건을 잘 풀어서 작성하면 정답이 나온다.&lt;/p&gt;
&lt;p&gt;두번째 조건을 토대로 생각해보면 1 다음에는 무조건 0이 나와야 한다. 0 다음에는 1과 0 둘다 나올 수 있다. 이걸 역으로 생각해보면&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0은 무조건 나올 수 있다.&lt;/li&gt;
&lt;li&gt;1은 이전 값이 0이여야만 가능하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;우리는 n자리 이친수의 개수를 구해야 하므로 위 규칙을 식으로 만들어 볼 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_C4D1DFD3D9DB-1.jpeg&quot; data-origin-width=&quot;1552&quot; data-origin-height=&quot;892&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdx74m/btqURv0tnGA/SnlOsAKqeLtQdHmmo6OkE1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdx74m/btqURv0tnGA/SnlOsAKqeLtQdHmmo6OkE1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdx74m/btqURv0tnGA/SnlOsAKqeLtQdHmmo6OkE1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdx74m%2FbtqURv0tnGA%2FSnlOsAKqeLtQdHmmo6OkE1%2Fimg.jpg&quot; data-filename=&quot;IMG_C4D1DFD3D9DB-1.jpeg&quot; data-origin-width=&quot;1552&quot; data-origin-height=&quot;892&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;0은 이전값과 관계없이 항상 나올 수 있다 따라서 n번째 0의 개수는 n - 1번째 0과 1의 개수, 즉 n - 1자리 이친수의 개수이다. 이번에는 1의 경우를 살펴보자.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_CB6E18BA329F-1.jpeg&quot; data-origin-width=&quot;1537&quot; data-origin-height=&quot;1099&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Afnw2/btqUUrwdmSE/agFAjMpvJf1pSdNil077Q0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Afnw2/btqUUrwdmSE/agFAjMpvJf1pSdNil077Q0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Afnw2/btqUUrwdmSE/agFAjMpvJf1pSdNil077Q0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAfnw2%2FbtqUUrwdmSE%2FagFAjMpvJf1pSdNil077Q0%2Fimg.jpg&quot; data-filename=&quot;IMG_CB6E18BA329F-1.jpeg&quot; data-origin-width=&quot;1537&quot; data-origin-height=&quot;1099&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;1은 이전 값이 0일 때에만 나올 수 있다. 따라서 n번째 1의 개수는 n - 1번째 0의 개수이다. 그런데 우리는 이미 n - 1번째 0의 개수를 구하는 방법을 알 고 있다!!! n - 1번째 0의 개수는 n - 2번째 0과 1의 개수, 즉 n - 2자리 이친수의 개수인 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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번째 이친수의 개수 = (n - 1번째 이친수의 개수) + (n - 2번째 이친수의 개수)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;카테고리&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DP&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;코드&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&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/kyghM/btqUUpSDV0G/SNXgiPnukH14367PLqB3f0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kyghM/btqUUpSDV0G/SNXgiPnukH14367PLqB3f0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kyghM/btqUUpSDV0G/SNXgiPnukH14367PLqB3f0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkyghM%2FbtqUUpSDV0G%2FSNXgiPnukH14367PLqB3f0%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;pre id=&quot;code_1611755131132&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;

int n;
std::vector&amp;lt;long long&amp;gt; dp_vector;

void output()
{
	std::cout &amp;lt;&amp;lt; dp_vector[n - 1];
}

void solution()
{
	dp_vector[0] = 1;
	dp_vector[1] = 1;
	for (int i = 2; i &amp;lt; n ; i++)
		dp_vector[i] = dp_vector[i - 1] + dp_vector[i - 2];
}

void input()
{
	std::cin &amp;gt;&amp;gt; n;
	dp_vector.resize(n + 1);
}

void preset()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(NULL);
	std::cout.tie(NULL);
}

int main(void)
{
	preset();
	input();
	solution();
	output();
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>ssh$/알고리즘</category>
      <category>2193</category>
      <category>BOJ</category>
      <category>C++</category>
      <category>백준</category>
      <category>알고리즘</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/13</guid>
      <comments>https://s-sh.tistory.com/13#entry13comment</comments>
      <pubDate>Wed, 27 Jan 2021 22:46:46 +0900</pubDate>
    </item>
    <item>
      <title>BOJ) 1932 정수 삼각형 &amp;lt;C++&amp;gt;</title>
      <link>https://s-sh.tistory.com/12</link>
      <description>&lt;div style=&quot;display: none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceUv3g/btqURv0rXAe/lj6zWN5TjirwBzezei05z1/tfile.svg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceUv3g/btqURv0rXAe/lj6zWN5TjirwBzezei05z1/tfile.svg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceUv3g/btqURv0rXAe/lj6zWN5TjirwBzezei05z1/tfile.svg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceUv3g%2FbtqURv0rXAe%2Flj6zWN5TjirwBzezei05z1%2Ftfile.svg&quot; data-filename=&quot;C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&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;/div&gt;
&lt;h3&gt;문제&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1932&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.acmicpc.net/problem/1932&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1611751800479&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1932번: 정수 삼각형&quot; data-og-description=&quot;첫째 줄에 삼각형의 크기 n(1 &amp;le; n &amp;le; 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1932&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1932&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cCkLPA/hyI526N134/4zPLvQAXE09wZHMF72ailk/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/1932&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1932&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cCkLPA/hyI526N134/4zPLvQAXE09wZHMF72ailk/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;1932번: 정수 삼각형&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;첫째 줄에 삼각형의 크기 n(1 &amp;le; n &amp;le; 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.&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 alignLeft&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/c2HJ9z/btqUYg1Wh4D/dmzzYKqhoo50MamgAEMUA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2HJ9z/btqUYg1Wh4D/dmzzYKqhoo50MamgAEMUA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2HJ9z/btqUYg1Wh4D/dmzzYKqhoo50MamgAEMUA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2HJ9z%2FbtqUYg1Wh4D%2FdmzzYKqhoo50MamgAEMUA1%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;위 그림은 크기가 5인 정수 삼각형의 한 모습이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;첫째 줄에&amp;nbsp;합이 최대가 되는 경로에 있는 수의 합을 출력한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;로직&lt;/h3&gt;
&lt;p&gt;이번 문제는 입력을 어떤 방식으로 저장하느냐가 가장 큰 고민거리였다. 일단은 2차원 벡터를 활용해야 겠다고 생각했다. 저장하는 방식은 아래의 그림처럼 생각하였다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;삼각형의 크기는 1씩 늘어난다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_AB6650CC40BE-1.jpeg&quot; data-origin-width=&quot;1554&quot; data-origin-height=&quot;909&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba5knW/btqUZu6s7Kw/TnuBvXkS0JIBubpqQWRWg0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba5knW/btqUZu6s7Kw/TnuBvXkS0JIBubpqQWRWg0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba5knW/btqUZu6s7Kw/TnuBvXkS0JIBubpqQWRWg0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba5knW%2FbtqUZu6s7Kw%2FTnuBvXkS0JIBubpqQWRWg0%2Fimg.jpg&quot; data-filename=&quot;IMG_AB6650CC40BE-1.jpeg&quot; data-origin-width=&quot;1554&quot; data-origin-height=&quot;909&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;따라서 arr[n]의 각 벡터를 들어갈 수 있는 사이즈 만큼 공간 할당을 미리 해 주었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이제 입력에 대한 고민을 마쳤으니 이 값들을 가지고 어떻게 각 구간에서의 합들을 저장할지 고민해 보았다.&lt;/p&gt;
&lt;p&gt;개념은 어렵지 않았다. 이전 층에 있는 값들 중 가져올 수 있는 값(좌 or 우)사이의 최대 값을 가져오면 되는 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;아래의 그림을 살펴보자&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_6D4D4A237E27-1.jpeg&quot; data-origin-width=&quot;1323&quot; data-origin-height=&quot;695&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bC9BFt/btqURve8hH3/7P7vwzyrNZlr69KnN4oIf1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bC9BFt/btqURve8hH3/7P7vwzyrNZlr69KnN4oIf1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bC9BFt/btqURve8hH3/7P7vwzyrNZlr69KnN4oIf1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC9BFt%2FbtqURve8hH3%2F7P7vwzyrNZlr69KnN4oIf1%2Fimg.jpg&quot; data-filename=&quot;IMG_6D4D4A237E27-1.jpeg&quot; data-origin-width=&quot;1323&quot; data-origin-height=&quot;695&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;위와 같은 경우 1은 가져올 수 있는 값, 즉 3과 8 중 큰 값을 가져와서 더하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;왼쪽의 8은 가져올 수 있는 값이 3밖에 없기 때문에 그대로 3을 더하면 된다.&lt;/p&gt;
&lt;p&gt;오른쪽도 마찬가지로 그냥 8을 더하면 된다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 경우를 의사 코드로 작성해보니 아래와 같이 나왔다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_64106F1B690A-1.jpeg&quot; data-origin-width=&quot;1233&quot; data-origin-height=&quot;1063&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnPM4R/btqUUqD1gWL/0HeNcOkDVcV2jyaZSQwEK0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnPM4R/btqUUqD1gWL/0HeNcOkDVcV2jyaZSQwEK0/img.jpg&quot; data-alt=&quot;&amp;amp;amp;nbsp;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnPM4R/btqUUqD1gWL/0HeNcOkDVcV2jyaZSQwEK0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnPM4R%2FbtqUUqD1gWL%2F0HeNcOkDVcV2jyaZSQwEK0%2Fimg.jpg&quot; data-filename=&quot;IMG_64106F1B690A-1.jpeg&quot; data-origin-width=&quot;1233&quot; data-origin-height=&quot;1063&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;figcaption&gt;&amp;nbsp;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;분기를 너무 많이 넣어줘야 하다보니 코드가 마음에 들지 않았다. 그래서 새로운 방법을 생각해 보게 되었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;만약 젤 앞의 값과 젤 뒤의 값도 비교할 값이 있으면 어떨까??&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_DBB7CA6C31F4-1.jpeg&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;754&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bjdtz/btqURvMNyPP/rfyehNOZKjzKKswZdw0yq1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bjdtz/btqURvMNyPP/rfyehNOZKjzKKswZdw0yq1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bjdtz/btqURvMNyPP/rfyehNOZKjzKKswZdw0yq1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBjdtz%2FbtqURvMNyPP%2FrfyehNOZKjzKKswZdw0yq1%2Fimg.jpg&quot; data-filename=&quot;IMG_DBB7CA6C31F4-1.jpeg&quot; data-origin-width=&quot;1090&quot; data-origin-height=&quot;754&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;그래서 이 빈 공간들을 0으로 채워보았다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;IMG_EE4030BC47DE-1.jpeg&quot; data-origin-width=&quot;1515&quot; data-origin-height=&quot;1026&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bofRZ0/btqUWsuOkZe/ShJVoda3DkIJ6GZXfucyv0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bofRZ0/btqUWsuOkZe/ShJVoda3DkIJ6GZXfucyv0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bofRZ0/btqUWsuOkZe/ShJVoda3DkIJ6GZXfucyv0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbofRZ0%2FbtqUWsuOkZe%2FShJVoda3DkIJ6GZXfucyv0%2Fimg.jpg&quot; data-filename=&quot;IMG_EE4030BC47DE-1.jpeg&quot; data-origin-width=&quot;1515&quot; data-origin-height=&quot;1026&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;이렇게 만들고 나니 8도 왼 or 오 중 큰값을 골라서 더할 수 있게 되었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;어차피 삼각형 내부의 값은 양수이고 각 끝이 0으로 채워져 있다면 무조건 삼각형 내부의 값을 선택하게 될 것이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그래서 입력을 세로 2칸, 가로 2칸을 더 받아서 만들어주었다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;카테고리&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;코드&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&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/ddpgEy/btqUYGMP6Sa/ZCkGkxtQfkNaYWaNNIRLj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddpgEy/btqUYGMP6Sa/ZCkGkxtQfkNaYWaNNIRLj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddpgEy/btqUYGMP6Sa/ZCkGkxtQfkNaYWaNNIRLj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddpgEy%2FbtqUYGMP6Sa%2FZCkGkxtQfkNaYWaNNIRLj0%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;pre id=&quot;code_1611753429143&quot; class=&quot;c++ arduino&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background-color: #f6f7f8; font-size: 14px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; background-position: initial initial; background-repeat: initial initial;&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;

std::vector&amp;lt;std::vector&amp;lt;int&amp;gt; &amp;gt; dp_vector;
int n;
int result;

void output()
{
	for (int i = 1 ; i &amp;lt;= n ; i++)
		result = std::max(result, dp_vector[n + 1][i]);
	std::cout &amp;lt;&amp;lt; result;
}

void solution()
{
	for (int i = 2 ; i &amp;lt; n + 2; i++)
		for (int j = 0 ; j &amp;lt; i; j++)
			dp_vector[i][j] += std::max(dp_vector[i - 1][j], dp_vector[i - 1][j - 1]);
}

void input()
{
	std::cin &amp;gt;&amp;gt; n;
	dp_vector.resize(n + 2);
	for (int i = 0 ; i &amp;lt; n + 2; i++)
		dp_vector[i].resize(i + 1);
	for (int i = 2 ; i &amp;lt; n + 2 ; i++)
		for (int j = 1 ; j &amp;lt; i; j++)
			std::cin &amp;gt;&amp;gt; dp_vector[i][j];
}

void preset()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(NULL);
	std::cout.tie(NULL);
}

int main()
{
	preset();
	input();
	solution();
	output();
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>ssh$/알고리즘</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/12</guid>
      <comments>https://s-sh.tistory.com/12#entry12comment</comments>
      <pubDate>Wed, 27 Jan 2021 22:18:12 +0900</pubDate>
    </item>
    <item>
      <title>BOJ) 1149 RGB거리 &amp;lt;C++&amp;gt;</title>
      <link>https://s-sh.tistory.com/11</link>
      <description>&lt;h2&gt;문제&lt;/h2&gt;
&lt;div style=&quot;display:none;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;ISO_C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9jrAu/btqUtplXwY8/vzA5kDuNb9xf5CbH3JXxT0/tfile.svg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9jrAu/btqUtplXwY8/vzA5kDuNb9xf5CbH3JXxT0/tfile.svg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9jrAu/btqUtplXwY8/vzA5kDuNb9xf5CbH3JXxT0/tfile.svg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9jrAu%2FbtqUtplXwY8%2FvzA5kDuNb9xf5CbH3JXxT0%2Ftfile.svg&quot; data-filename=&quot;ISO_C++_Logo.svg&quot; data-origin-width=&quot;306&quot; data-origin-height=&quot;344&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;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/1149&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;www.acmicpc.net/problem/1149&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1611471281371&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;1149번: RGB거리&quot; data-og-description=&quot;첫째 줄에 집의 수 N(2 &amp;le; N &amp;le; 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/1149&quot; data-og-url=&quot;https://www.acmicpc.net/problem/1149&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/PFLE3/hyI2HPNSDR/wxjUo1mMWXMkC3diTjgwIk/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/1149&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/1149&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/PFLE3/hyI2HPNSDR/wxjUo1mMWXMkC3diTjgwIk/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;1149번: RGB거리&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;첫째 줄에 집의 수 N(2 &amp;le; N &amp;le; 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나&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;RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로&amp;nbsp;있다.&lt;/p&gt;
&lt;p&gt;집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1번 집의 색은 2번 집의 색과 같지 않아야 한다.&lt;/li&gt;
&lt;li&gt;N번 집의 색은 N-1번 집의 색과 같지 않아야 한다.&lt;/li&gt;
&lt;li&gt;i(2 &amp;le; i &amp;le; N-1) 번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;입력&lt;/p&gt;
&lt;p&gt;&lt;span&gt;첫째 줄에 집의 수 N(2 &amp;le; N &amp;le; 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 같은 자연수이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;로직&lt;/h3&gt;
&lt;p&gt;이번 문제는 이전에 풀었던 DP문제들과 비슷했다. 위의 조건들이 복잡해 보이지만 결국 한 문장으로 줄일 수 있다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;N번 집의 색은 N-1번 집의 색과 같지 않아야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이유는 결국 N번째 집이 N - 1번째 다르고 N + 1 번째 집이 N번째 집과 다르다면 N번 집은 N - 1번 집과 N + 1번 집이 다를 수밖에 없는 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;최솟값을 구하는 방법을 그림으로 그려보면 아래와 같다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;563&quot; data-filename=&quot;IMG_F25C8FEA5025-1.jpeg&quot; width=&quot;350&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vj3WX/btqUvDwMFMc/j2DZ25IrusUy8qU92t1Ju0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vj3WX/btqUvDwMFMc/j2DZ25IrusUy8qU92t1Ju0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vj3WX/btqUvDwMFMc/j2DZ25IrusUy8qU92t1Ju0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvj3WX%2FbtqUvDwMFMc%2Fj2DZ25IrusUy8qU92t1Ju0%2Fimg.jpg&quot; data-origin-width=&quot;1141&quot; data-origin-height=&quot;563&quot; data-filename=&quot;IMG_F25C8FEA5025-1.jpeg&quot; width=&quot;350&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;하지만 최솟값을 한 번에 구하는 방법이 없다. 그래서 각 시작점에 따라서 결과를 저장하면서 마지막에 해당 3개의 값을 비교해서 최솟값을 출력해주면 된다고 생각했다. 모든 값을 저장하면 되기 때문에 특별한 알고리즘이 필요하진 않았다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-filename=&quot;IMG_9E384C77E13B-1.jpeg&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;543&quot; width=&quot;350&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n2fLq/btqUBwwTiVo/cy4wkK8H1u5eGGgdPf6F1K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n2fLq/btqUBwwTiVo/cy4wkK8H1u5eGGgdPf6F1K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n2fLq/btqUBwwTiVo/cy4wkK8H1u5eGGgdPf6F1K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn2fLq%2FbtqUBwwTiVo%2Fcy4wkK8H1u5eGGgdPf6F1K%2Fimg.jpg&quot; data-filename=&quot;IMG_9E384C77E13B-1.jpeg&quot; data-origin-width=&quot;1123&quot; data-origin-height=&quot;543&quot; width=&quot;350&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;모든 input 값들을 vector[n][3]에 저장해두었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이번 문제를 해결할 때, 이전의 값들이 필요한 경우가 없다고 생각되어서 새로운 배열을 생성하지 않고 입력을 받은 배열을 그대로 저장 배열로 사용하기로 하였다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그다음으로 고민을 해 볼 문제는 바로 이전에 어떤 색을 선택하였는지를 어떤 식으로 표현할 것인가이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;처음으로 떠올랐던 아이디어는 pivot[3] = {0, 1, 2} 배열을 사용해 이전의 pivot값을 저장하는 것이었다. 하지만 2중 for문을 활용하여 현재 값의 pivot을 알 수 있기 때문에 이전 값을 저장하지 않아도 현재 pivot과 다른 값을 찾으면 되는 것이었다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-filename=&quot;IMG_DF66E4F8F04F-1.jpeg&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;1460&quot; width=&quot;350&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkanz1/btqUEzfN0Ln/K3ZgdNXVXPT5SK21YqoTAk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkanz1/btqUEzfN0Ln/K3ZgdNXVXPT5SK21YqoTAk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkanz1/btqUEzfN0Ln/K3ZgdNXVXPT5SK21YqoTAk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdkanz1%2FbtqUEzfN0Ln%2FK3ZgdNXVXPT5SK21YqoTAk%2Fimg.jpg&quot; data-filename=&quot;IMG_DF66E4F8F04F-1.jpeg&quot; data-origin-width=&quot;1285&quot; data-origin-height=&quot;1460&quot; width=&quot;350&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;figure class=&quot;imageblock alignLeft&quot; data-filename=&quot;IMG_540A1E9D0439-1.jpeg&quot; data-origin-width=&quot;1411&quot; data-origin-height=&quot;1341&quot; width=&quot;350&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DvGf9/btqUsdly6Df/NwVt9WyTGyo7qOTuiE7UxK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DvGf9/btqUsdly6Df/NwVt9WyTGyo7qOTuiE7UxK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DvGf9/btqUsdly6Df/NwVt9WyTGyo7qOTuiE7UxK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDvGf9%2FbtqUsdly6Df%2FNwVt9WyTGyo7qOTuiE7UxK%2Fimg.jpg&quot; data-filename=&quot;IMG_540A1E9D0439-1.jpeg&quot; data-origin-width=&quot;1411&quot; data-origin-height=&quot;1341&quot; width=&quot;350&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;&lt;figure class=&quot;imageblock alignLeft&quot; data-origin-width=&quot;1519&quot; data-origin-height=&quot;1203&quot; data-filename=&quot;IMG_CFEC7F214F53-1.jpeg&quot; width=&quot;350&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cr9dfs/btqUo94Pggq/YRMYDaxqGOVpkgiOFWFtcK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cr9dfs/btqUo94Pggq/YRMYDaxqGOVpkgiOFWFtcK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cr9dfs/btqUo94Pggq/YRMYDaxqGOVpkgiOFWFtcK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcr9dfs%2FbtqUo94Pggq%2FYRMYDaxqGOVpkgiOFWFtcK%2Fimg.jpg&quot; data-origin-width=&quot;1519&quot; data-origin-height=&quot;1203&quot; data-filename=&quot;IMG_CFEC7F214F53-1.jpeg&quot; width=&quot;350&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;분기를 통해 j가 0, 1, 2일때를 나누는 것 방법을 사용하지 않았다.&lt;/p&gt;
&lt;p&gt;결국 pivot의 선택지는 0, 1, 2 중에 하나이고 자기 자신을 제외한 값이 나오면 되기 때문에 이전 값은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(pivot + 1) % 3&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333;&quot;&gt;(pivot + 2) % 3&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;라고 할 수 있다. 이제 이 두 값 중에서 최솟값을 구하면 되는 것이다.&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;카테고리&amp;nbsp;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DP&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;코드&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&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/EboAA/btqUEz1avJq/U6Kgs4jSmPbJxjLsUNRLEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EboAA/btqUEz1avJq/U6Kgs4jSmPbJxjLsUNRLEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EboAA/btqUEz1avJq/U6Kgs4jSmPbJxjLsUNRLEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEboAA%2FbtqUEz1avJq%2FU6Kgs4jSmPbJxjLsUNRLEk%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;pre id=&quot;code_1611473768281&quot; class=&quot;c++ arduino&quot; style=&quot;display: block; overflow: auto; padding: 15px; color: #383a42; background-color: #f6f7f8; font-size: 14px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; font-family: Menlo, Consolas, Monaco, monospace; border: 1px solid #dddddd; margin: 20px auto 0px; cursor: default; z-index: 1; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; background-position: initial initial; background-repeat: initial initial;&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;algorithm&amp;gt;

std::vector&amp;lt;std::vector&amp;lt;int&amp;gt; &amp;gt; cost;
int n;

void output()
{
	std::cout &amp;lt;&amp;lt; std::min({cost[n-1][0], cost[n-1][1], cost[n-1][2]});
}

void solution()
{
	for (int i = 1 ; i &amp;lt;  n ; i++)
		for (int j = 0 ; j &amp;lt; 3 ; j++)
			cost[i][j] += std::min(cost[i - 1][(j + 1) % 3], cost[i - 1][(j + 2) % 3]);
}

void input()
{
	std::cin &amp;gt;&amp;gt; n;
	cost.resize(n + 2, std::vector&amp;lt;int&amp;gt;(3, 0));
	for (int i = 0 ; i &amp;lt; n ; i++)
		for (int j = 0 ; j &amp;lt; 3 ; j++)
			std::cin &amp;gt;&amp;gt; cost[i][j];
}

void preset()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(NULL);
	std::cout.tie(NULL);
}

int main(void)
{
	preset();
	input();
	solution();
	output();
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>ssh$/알고리즘</category>
      <category>1149</category>
      <category>BOJ</category>
      <category>C++</category>
      <category>백준</category>
      <category>알고리즘</category>
      <author>shin-sh</author>
      <guid isPermaLink="true">https://s-sh.tistory.com/11</guid>
      <comments>https://s-sh.tistory.com/11#entry11comment</comments>
      <pubDate>Sun, 24 Jan 2021 16:38:42 +0900</pubDate>
    </item>
  </channel>
</rss>