{"componentChunkName":"component---src-templates-blog-post-js","path":"/Problem-Solving/2020-01-07-15947번-아기-석환-뚜루루-뚜루/","result":{"data":{"site":{"siteMetadata":{"title":"Hun's Footsteps 🥷","author":"전여훈","siteUrl":"https://jeonyeohun.netlify.app","comment":{"disqusShortName":"","utterances":"jeonyeohun/jeonyeohun.github.io"},"sponsor":{"buyMeACoffeeId":"jeonyeohun"}}},"markdownRemark":{"id":"a4585482-5d29-5228-a896-f7068835d1de","excerpt":"15947번: 아기 석환 뚜루루 뚜루 접근 방법: 어차피 뚜루루 뚜루 부분을 제외한 다른 부분은 그대로 출력하면 되기 때문에 배열에 모든 문자열을 따로따로 맵핑해두고 입력으로 들어오는 N을 전체 문자열 갯수인 14로 나누고 남은 나머지 위치에 있는 문자열을 출력해주면 된다. 이때 출력할 문자열이 tururu 나 turu 면 N을 14로 나눈 몫만큼 반복해서 ru를 붙여준다. ru의 갯수가 5이상이면 출력 형태가 달라지는데 tururu는 배열의 짝수번째에 들어있고, turu…","html":"<h3 id=\"15947번-아기-석환-뚜루루-뚜루\" style=\"position:relative;\"><a href=\"#15947%EB%B2%88-%EC%95%84%EA%B8%B0-%EC%84%9D%ED%99%98-%EB%9A%9C%EB%A3%A8%EB%A3%A8-%EB%9A%9C%EB%A3%A8\" aria-label=\"15947번 아기 석환 뚜루루 뚜루 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><a href=\"https://www.acmicpc.net/problem/15947\">15947번: 아기 석환 뚜루루 뚜루</a></h3>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">문제\n석환이는 오늘 낮에 커피를 마셔서 잠에 들지 못하고 있다. 이불 속에서 너무 심심한 나머지 “아기 석환” 노래를 잠에 들 때까지 부르려고 한다. 석환이는 UCPC 2018 출제진 중의 한 명인 석환(seokhwan)이랑은 달리, 자신의 이름을 sukhwan이라고 쓴다. 노래가 끝나면 다시 처음부터 부른다. 아기 석환 노래는 아래와 같다.\n\nbaby sukhwan tururu turu\nvery cute tururu turu\nin bed tururu turu\nbaby sukhwan\n\n하지만 석환이는 계속 노래를 똑같이 부르기는 심심해서, 노래가 한 번 끝날 때마다 “tururu”와 “turu”에 “ru”를 한 번씩 더 추가해서 다음과 같이 부르려고 한다.\n\nbaby sukhwan tururu turu\nvery cute tururu turu\nin bed tururu turu\nbaby sukhwan\n\nbaby sukhwan turururu tururu\nvery cute turururu tururu\nin bed turururu tururu\nbaby sukhwan\n\nbaby sukhwan tururururu turururu\nvery cute tururururu turururu\nin bed tururururu turururu\nbaby sukhwan\n\n…\n\n이 때, 석환이가 부르는 노래의 N번째 단어는 무엇일까?\n\n입력\n첫 번째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.\n\n출력\n첫 번째 줄에 석환이가 N번째로 부를 단어를 출력한다. 여기서 단어란 가사 중 공백으로 구분되는 연속된 알파벳 소문자열을 뜻한다. 단, 출력할 단어가 “tururu...ru”일 때, “ru”가 k(k ≥ 5)번 반복되면 “tu+ru*k”와 같이 출력한다.</code></pre></div>\n<h3 id=\"접근-방법\" style=\"position:relative;\"><a href=\"#%EC%A0%91%EA%B7%BC-%EB%B0%A9%EB%B2%95\" aria-label=\"접근 방법 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>접근 방법:</h3>\n<p>어차피 뚜루루 뚜루 부분을 제외한 다른 부분은 그대로 출력하면 되기 때문에 배열에 모든 문자열을 따로따로 맵핑해두고 입력으로 들어오는 N을 전체 문자열 갯수인 14로 나누고 남은 나머지 위치에 있는 문자열을 출력해주면 된다. 이때 출력할 문자열이 tururu 나 turu 면 N을 14로 나눈 몫만큼 반복해서 ru를 붙여준다. ru의 갯수가 5이상이면 출력 형태가 달라지는데 tururu는 배열의 짝수번째에 들어있고, turu는 배열의 홀수번째에 위치해 있기 때문에 홀수, 짝수에 따라 다른 조건을 만들어서 출력해준다.</p>\n<h3 id=\"통과-코드\" style=\"position:relative;\"><a href=\"#%ED%86%B5%EA%B3%BC-%EC%BD%94%EB%93%9C\" aria-label=\"통과 코드 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>통과 코드:</h3>\n<div class=\"gatsby-highlight\" data-language=\"cpp\"><pre class=\"language-cpp\"><code class=\"language-cpp\"><span class=\"token macro property\"><span class=\"token directive-hash\">#</span><span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;string></span></span>\n<span class=\"token macro property\"><span class=\"token directive-hash\">#</span><span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;iostream></span></span>\n<span class=\"token macro property\"><span class=\"token directive-hash\">#</span><span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;vector></span></span>\n\n<span class=\"token keyword\">using</span> <span class=\"token keyword\">namespace</span> std<span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">int</span> N<span class=\"token punctuation\">;</span>\n    vector<span class=\"token operator\">&lt;</span>string<span class=\"token operator\">></span> song<span class=\"token punctuation\">{</span><span class=\"token string\">\"baby\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"sukhwan\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"tururu\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"turu\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"very\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"cute\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"tururu\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"turu\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"in\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"bed\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"tururu\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"turu\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"baby\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"sukhwan\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n    cin <span class=\"token operator\">>></span> N<span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">int</span> itr <span class=\"token operator\">=</span> N<span class=\"token operator\">/</span><span class=\"token number\">14</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">int</span> idx <span class=\"token operator\">=</span> N<span class=\"token operator\">%</span><span class=\"token number\">14</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>idx <span class=\"token operator\">&lt;</span> <span class=\"token number\">0</span><span class=\"token punctuation\">)</span> idx <span class=\"token operator\">=</span> <span class=\"token number\">13</span><span class=\"token punctuation\">;</span>\n\n\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>song<span class=\"token punctuation\">[</span>idx<span class=\"token punctuation\">]</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token string\">'t'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>idx <span class=\"token operator\">%</span> <span class=\"token number\">2</span> <span class=\"token operator\">==</span> <span class=\"token number\">0</span> <span class=\"token operator\">&amp;&amp;</span> itr <span class=\"token operator\">>=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n            cout <span class=\"token operator\">&lt;&lt;</span> <span class=\"token string\">\"tu+ru*\"</span> <span class=\"token operator\">&lt;&lt;</span> itr<span class=\"token operator\">+</span><span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n            <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>idx <span class=\"token operator\">%</span> <span class=\"token number\">2</span> <span class=\"token operator\">==</span> <span class=\"token number\">1</span> <span class=\"token operator\">&amp;&amp;</span> itr <span class=\"token operator\">>=</span> <span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n            cout <span class=\"token operator\">&lt;&lt;</span> <span class=\"token string\">\"tu+ru*\"</span> <span class=\"token operator\">&lt;&lt;</span> itr<span class=\"token operator\">+</span><span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n            <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span> <span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> itr <span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span>\n            song<span class=\"token punctuation\">[</span>idx<span class=\"token punctuation\">]</span> <span class=\"token operator\">+=</span> <span class=\"token string\">\"ru\"</span><span class=\"token punctuation\">;</span>\n        cout <span class=\"token operator\">&lt;&lt;</span> song<span class=\"token punctuation\">[</span>idx<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    cout <span class=\"token operator\">&lt;&lt;</span> song<span class=\"token punctuation\">[</span>idx<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>","frontmatter":{"title":"[백준 알고리즘] 15947번: 아기 석환 뚜루루 뚜루","date":"May 05, 2020"}}},"pageContext":{"slug":"/Problem-Solving/2020-01-07-15947번-아기-석환-뚜루루-뚜루/","previous":{"fields":{"slug":"/Problem-Solving/2020-01-08-11866번-요세푸스-문제-0/"},"frontmatter":{"title":"[백준 알고리즘] 11866번: 요세푸스 문제 0","category":"Problem-Solving","draft":false}},"next":{"fields":{"slug":"/Problem-Solving/2020-01-07-15654번-N과-M-(5)/"},"frontmatter":{"title":"[백준 알고리즘] 15654번: N과 M (5)","category":"Problem-Solving","draft":false}}}},"staticQueryHashes":["2486386679","3128451518"]}