<div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"> <table class="colorscripter-code-table" style="margin:0px;padding:0px;border:medium;line-height:140%;background-color:#fafafa;" cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:6px;border-right-color:#e5e5e5;border-right-width:2px;border-right-style:solid;"> <div style="margin:0px;padding:0px;text-align:right;color:#666666;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> <div>11</div> <div>12</div> <div>13</div> <div>14</div> <div>15</div> <div>16</div> <div>17</div> <div>18</div> <div>19</div> <div>20</div> <div>21</div> <div>22</div> <div>23</div> <div>24</div> <div>25</div> <div>26</div> <div>27</div> <div>28</div> <div>29</div> <div>30</div> <div>31</div> <div>32</div> <div>33</div> <div>34</div> <div>35</div> <div>36</div> <div>37</div> <div>38</div></div></td> <td style="padding:6px 0px;"> <div style="margin:0px;padding:0px;color:#010101;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"> <div style="padding:0px 6px;white-space:pre;"><span style="color:#0086b3;">#include</span> <span style="color:#010101;"></span><span style="color:#a71d5d;"><</span>iostream<span style="color:#010101;"></span><span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;"><span style="color:#0086b3;">#include</span> <span style="color:#010101;"></span><span style="color:#a71d5d;"><</span>set<span style="color:#010101;"></span><span style="color:#a71d5d;">></span></div> <div style="padding:0px 6px;white-space:pre;"><span style="color:#a71d5d;">using</span> <span style="color:#a71d5d;">namespace</span> std;</div> <div style="padding:0px 6px;white-space:pre;"> </div> <div style="padding:0px 6px;white-space:pre;"><span style="color:#066de2;">bool</span> repeatless(<span style="color:#a71d5d;">unsigned</span> <span style="color:#066de2;">int</span> number) {</div> <div style="padding:0px 6px;white-space:pre;"> set<span style="color:#010101;"></span><span style="color:#a71d5d;"><</span><span style="color:#066de2;">int</span><span style="color:#a71d5d;">></span> sNumber;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#066de2;">bool</span> how <span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#a71d5d;">true</span>;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">if</span> (number <span style="color:#010101;"></span><span style="color:#a71d5d;"><</span> <span style="color:#0099cc;">10</span>)</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">return</span> <span style="color:#a71d5d;">true</span>;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">else</span> {</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">while</span> (number <span style="color:#010101;"></span><span style="color:#a71d5d;">!</span><span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>) {</div> <div style="padding:0px 6px;white-space:pre;"> how <span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> sNumber.insert(number % <span style="color:#0099cc;">10</span>).second;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">if</span> (how <span style="color:#010101;"></span><span style="color:#a71d5d;">=</span><span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#a71d5d;">false</span>)</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">return</span> <span style="color:#a71d5d;">false</span>;</div> <div style="padding:0px 6px;white-space:pre;"> number <span style="color:#010101;"></span><span style="color:#a71d5d;">/</span><span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">10</span>;</div> <div style="padding:0px 6px;white-space:pre;"> }</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">return</span> <span style="color:#a71d5d;">true</span>;</div> <div style="padding:0px 6px;white-space:pre;"> }</div> <div style="padding:0px 6px;white-space:pre;">}</div> <div style="padding:0px 6px;white-space:pre;"> </div> <div style="padding:0px 6px;white-space:pre;"><span style="color:#066de2;">int</span> main() {</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">unsigned</span> <span style="color:#066de2;">int</span> number <span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#010101;"></span><span style="color:#a71d5d;">-</span><span style="color:#0099cc;">1</span>;</div> <div style="padding:0px 6px;white-space:pre;"> </div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">while</span> (number) {</div> <div style="padding:0px 6px;white-space:pre;"> cin <span style="color:#010101;"></span><span style="color:#a71d5d;">></span><span style="color:#010101;"></span><span style="color:#a71d5d;">></span> number;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">unsigned</span> <span style="color:#066de2;">int</span> i <span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">for</span> (<span style="color:#a71d5d;">unsigned</span> <span style="color:#066de2;">int</span> j <span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">1</span>; j <span style="color:#010101;"></span><span style="color:#a71d5d;"><</span><span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> number;j<span style="color:#010101;"></span><span style="color:#a71d5d;">+</span><span style="color:#010101;"></span><span style="color:#a71d5d;">+</span>) {</div> <div style="padding:0px 6px;white-space:pre;"> i<span style="color:#010101;"></span><span style="color:#a71d5d;">+</span><span style="color:#010101;"></span><span style="color:#a71d5d;">+</span>;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">if</span> (repeatless(i) <span style="color:#010101;"></span><span style="color:#a71d5d;">!</span><span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#a71d5d;">true</span>)</div> <div style="padding:0px 6px;white-space:pre;"> j<span style="color:#010101;"></span><span style="color:#a71d5d;">-</span><span style="color:#010101;"></span><span style="color:#a71d5d;">-</span>;</div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#999999;">//else</span></div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#999999;">// cout << i<<" ";</span></div> <div style="padding:0px 6px;white-space:pre;"> }</div> <div style="padding:0px 6px;white-space:pre;"> </div> <div style="padding:0px 6px;white-space:pre;"> <span style="color:#a71d5d;">if</span>(number <span style="color:#010101;"></span><span style="color:#a71d5d;">!</span><span style="color:#010101;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">0</span>)</div> <div style="padding:0px 6px;white-space:pre;"> cout <span style="color:#010101;"></span><span style="color:#a71d5d;"><</span><span style="color:#010101;"></span><span style="color:#a71d5d;"><</span> i <span style="color:#010101;"></span><span style="color:#a71d5d;"><</span><span style="color:#010101;"></span><span style="color:#a71d5d;"><</span> endl;</div> <div style="padding:0px 6px;white-space:pre;"> }</div> <div style="padding:0px 6px;white-space:pre;">}</div></div> <div style="text-align:right;font-size:9px;font-style:italic;margin-top:-13px;margin-right:5px;"><a style="color:#e5e5e5;text-decoration:none;" href="http://colorscripter.com/info#e" target="_blank">Colored by Color Scripter</a></div></td> <td style="padding:0px 2px 4px 0px;vertical-align:bottom;"><a style="text-decoration:none;" href="http://colorscripter.com/info#e" target="_blank"><span style="padding:1px;color:#FFFFFF;font-size:9px;background-color:#e5e5e5;">cs</span></a></td></tr></tbody></table></div> <div>d제가 algospot이라는 사이트에서 아무 알고리즘 문제 잡아서 푸는 연습을 하고있습니다.</div> <div>방금 전에 REPEATLESS 라는 문제를 풀었는데 링크는 <a target="_blank" href="https://algospot.com/judge/problem/read/REPEATLESS">https://algospot.com/judge/problem/read/REPEATLESS</a> 입니다.</div> <div>문제의 요지는 같은 수가 반복되지 않는 숫자 중 내가 입력한 n번째의 숫자를 결과로 나타내는 것 입니다.</div> <div>예를 들어 반복되지 않는 숫자를 RN(Repeatless Number)이라 하면 21, 123, 26057 과 같은 숫자는 RN이고</div> <div>11, 121, 10100, 14141과 같은 숫자는 RN이 아닙니다.</div> <div><br></div> <div>따라서 25를 입력하면 RN이 아닌 11과 22를 제외 한 자연수 중 25번째 문자인 27이 결과로 나오게 됩니다.</div> <div><br></div> <div>문제를 고심해서 풀었고 위와 같은 코드로 컴파일을 해보니 값은 정확하게 나옵니다. (ex, 10000을 입력하면 26057)</div> <div><br></div> <div>하지만 문제는 프로그램 효율성이 너무 떨어져서 높은 값을 입력하면 결과가 너무 느리게 나오네요 ㅠㅠ</div> <div>프로그램 효율성을 높이는 방법이 무엇이 있을까요?? 이것에 대해 생각해보고 제대로 공부해본 적이 없어서 어떻게 해야할지 모르겠네요 ㅠ..</div> <div><br></div> <div>십만을 입력하니 10초 조금 넘게 지나니까 답을 내내요...</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.