๋ฑ ๋ด๋ ๋ญ๊ฐ ๋ฐ๋ณต๋๋ ๋๋์ด๋ค
๊ทธ๋ ๊ฒ ์ ๋ณด์ด์ง๋ง ๊ทธ๋ฆผ์ ์ฌ๊ฐํ์ ์ ๋ถ๋ค ์ ์ฌ๊ฐํ์ด๋ค. ํ ๋ณ์ ๊ธธ์ด์ ์์๋๋ ์์น๋ง ์๋ค๋ฉด ์ฌ๊ท๋ ๋ฐ๋ณต๋ฌธ์ด๋ ์ฌ์ฉํด์ ์ฐ์ด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค
๋ฌธ์ ๋ ์์์๋ถํฐ ๋ฐ์ผ๋ก ๋๊ฐ๋๋, ๋ฐ์์๋ถํฐ ์์ผ๋ก ๋ค์ด์ค๋๋์ธ๋ฐ. ์ ๋ ฅ๋๋ ์ซ์์ ๋ฐ๋ผ ์ต๋ ํฌ๊ธฐ๋ ์ง์ ๋์ด ์์ ๊ฒ ๊ฐ์ผ๋ ์ต๋ ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ ํด๋๊ณ ๋ฐ์์๋ถํฐ ์์ผ๋ก ๊ทธ๋ฆฌ๋ฉฐ ๋ค์ด์ค๋ ๊ฒ ํธํ ๊ฒ ๊ฐ์๋ค.
์ฐ์ n๋ฒ์งธ ์ ์ฌ๊ฐํ์ ํ ๋ณ์ ๊ธธ์ด๋ 4n-3์ด๋ฉฐ ์์์์น๋ (0, 0)๋ถํฐ ์์ํด์ (2, 2), (4, 4)๋ก 2๋จ์์ฉ ๋์ด๋๋ฉฐ ์์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋ฐ์์๋ถํฐ ๊ทธ๋ ค๋ค์ด์ค๊ธฐ ๋๋ฌธ์ n์ 3๋ถํฐ ์์ํ๊ฒ ๋๊ณ , (0, 0)์ ์ ์ ์ปค์ง๋ฉด์ ๋ค์ด๊ฐ๋๊น n๊ณผ i๋ผ๋ ๋ณ์๋ฅผ ๋ ๋ค ์ฌ์ฉํด์ค๋ค. ํ๋๋ ์ฌ๊ฐํ์ ๋ณ์ ๊ธธ์ด๋ฅผ ๊ฒฐ์ ํ๊ณ i๋ ์์์์น๋ฅผ ๊ฒฐ์ ํ๋ค.
์ผ๋จ ๋นจ๊ฐ์ ์ฌ๊ฐํ์ ๊ทธ๋ฆด ์ ์๋ ์ต๋์ ์ ์ฌ๊ฐํ ํฌ๊ธฐ์ด๋ค. (0, 0)๋ถํฐ ์์ํ๋ ํ ๋ณ์ ๊ธธ์ด๊ฐ 4*3-3์ธ ์ ์ฌ๊ฐํ์ด๋ค. ๊ฐ์ฅ ์์ ์๋์ ๋ณ์ ์ญ ๊ทธ๋ ค์ฃผ๊ณ ๊ทธ ์ธ์ ํ์ ์ฒ์๊ณผ ๋ง์ง๋ง๋ง ๊ทธ๋ ค์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฐ ๋ค์ n์ 2๊ฐ ๋์ด์ผ ํ๊ณ , ์์์์น๋ (2, 2)๊ฐ ๋๋๋ก i๋ 2๋ฅผ ์ฆ๊ฐ์์ผ์ฃผ๋ฉด ๋๋ค.
N = int(input())
arr = [[' ']*(4*N-3) for _ in range(4*N-3)]
def recur_star(n, k):
if not n:
return
for c in range(4*n-3):
arr[k][k+c] = '*'
arr[k+4*n-4][k+c] = '*'
for r in range(k+1, k+4*n-4):
arr[r][k] = '*'
arr[r][-1-k] = '*'
recur_star(n-1, k+2)
recur_star(N, 0)
for row in arr:
print(''.join(row))
๋๋ ์ฌ๊ท๋ก ํ์๋๋ฐ ์๋ง ๋ฐ๋ณต๋ฌธ์ผ๋ก๋ ํ๋ฆด ๊ฒ ๊ฐ๋ค.
์ํ์ ์ผ๋ก ๊ณ์ฐํ๋ฉด ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ํธ๋ ๋ฐฉ์๋ ์๋ ๊ฒ ๊ฐ์ง๋ง ๊ฑฐ๊ธฐ๊น์ง๋..
์๋ ์ ์ฒ์ ์๊ณ ๋ฆฌ์ฆ ์์ํ๊ณ ๋ณ ์ฐ๊ธฐ ์ ๋ณตํด๋ณด๊ฒ ๋ค๊ณ ์ผ์ฌ์ฐจ๊ฒ ๋์ ํ๋ค๊ฐ ์ด ๋ฌธ์ ๋ณด๊ณ ์ข์ ํ์๋๋ฐ ์ด๋ฒ์๋ ๋ณด์๋ง์ ํ ๋ฒ์ ํ๋ ธ๋ค. ์ค๋ ฅ์ด๋ ๊ฒ ์ ๋๋ ๊ฒ ๊ฐ์๋ฐ ๋ญ๊ฐ ๋๊ธด ๋๋๋ณด๋ค.. ใ