<div><font style="background-color:#ffffff;">n=3*2^m 일때 별을 찍는 문제인데요</font></div> <div><font style="background-color:#ffffff;">저는 규칙성을 이용해서 </font></div> <div><font style="background-color:#ffffff;"><br></font></div> <div><font style="background-color:#ffffff;"><br></font></div> <div>n=eval(input())<br>a=" "*(2*n)<br>space=[]</div> <div>for i in range(n):<br> space.append(a)</div> <div>def star(spot,x):<br> spot=spot[:x]+'*'+spot[x+1:]<br> return spot</div> <div>space[0]=star(space[0],n-1)</div> <div>for j in range(n-2):<br> if j%3==0:<br> for k in range(2*n-2):<br> if space[j][k]=='*':<br> space[j + 1] = star(space[j + 1], k - 1)<br> space[j + 1] = star(space[j + 1], k + 1)<br> space[j + 2] = star(space[j + 2], k - 2)<br> space[j + 2] = star(space[j + 2], k - 1)<br> space[j + 2] = star(space[j + 2], k)<br> space[j + 2] = star(space[j + 2], k + 1)<br> space[j + 2] = star(space[j + 2], k + 2)<br> else:<br> pass<br> elif j%3==2:<br> for k in range(1,2*n-1):<br> if space[j][k-1]=='*' and space[j][k+1]==' ' and space[j][k]==' ':<br> space[j + 1] = star(space[j + 1], k)<br> elif space[j][k-1]==' ' and space[j][k+1]=='*' and space[j][k]==' ':<br> space[j + 1] = star(space[j + 1], k)<br> else:<br> pass<br> else:<br> pass</div> <div><br>for i in range(n):<br> print(space[i])</div> <div><br></div> <div>이렇게 코드를 짜서 문제를 풀었는데 더 좋은 풀이법은 재귀함수를 이용하라고 나와 있어서요</div> <div><br></div> <div>재귀함수가 뭔지는 알고 있는데 이걸 코딩으로 짜려고 생각해봐도 이게 머릿속에서는 되는데</div> <div><br></div> <div>코딩으로 하려니깐 어떻게 해야할지 잘 모르겠어서 여쭤봅니다.</div> <div><br></div> <div><br></div> <div><br></div> <div>n=24일때 답은 이런식으로 나오게 됩니다.</div> <div><font style="background-color:#ffffff;"></font><pre class="sampledata" style="margin:0px 0px 10px;padding:8px;border:1px solid rgb(225,225,232);color:#333333;text-transform:none;line-height:1.4285;text-indent:0px;letter-spacing:normal;font-family:Menlo, Monaco, 'Source Code Pro', consolas, monospace;font-size:18px;font-style:normal;font-weight:normal;word-spacing:0px;display:block;white-space:pre;background-color:#f7f7f9;"></pre><div> * * * ***** * * * * * * ***** ***** * * * * * * ***** ***** * * * * * * * * * * * * ***** ***** ***** ***** * * * * * * ***** ***** * * * * * * * * * * * * ***** ***** ***** ***** * * * * * * * * * * * * ***** ***** ***** ***** * * * * * * * * * * * * * * * * * * * * * * * * ***** ***** ***** ***** ***** ***** ***** *****</div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.