์ฌ๊ท์ ์ธ ํจํด์ผ๋ก ๋ณ์ ์ฐ์ด ๋ณด์.
N์ด 3์ ๊ฑฐ๋ญ์ ๊ณฑ(3, 9, 27, ...)์ด๋ผ๊ณ ํ ๋,
ํฌ๊ธฐ N์ ํจํด์ NรN ์ ์ฌ๊ฐํ ๋ชจ์์ด๋ค.
ํฌ๊ธฐ 3์ ํจํด์ ๊ฐ์ด๋ฐ์ ๊ณต๋ฐฑ์ด ์๊ณ ,
๊ฐ์ด๋ฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ์นธ์ ๋ณ์ด ํ๋์ฉ ์๋ ํจํด์ด๋ค.
N์ด 3๋ณด๋ค ํด ๊ฒฝ์ฐ,
ํฌ๊ธฐ N์ ํจํด์ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง ๊ฐ์ด๋ฐ์
(N/3)ร(N/3) ์ ์ฌ๊ฐํ์ํฌ๊ธฐ N/3์ ํจํด์ผ๋ก ๋๋ฌ์ผ ํํ์ด๋ค.
์ดํด๋ฅผ ๋๊ธฐ์ํ ์์๋ฅผ ๋ฏ์ด ๋ณด์.
1. ์ฌ๊ท์ ํจํด์ผ๋ก ๋ณ์ด ์ฐํ์๋ค.
2. ํฌ๊ธฐ๊ฐ 3์ธ ํจํด์ ๊ธฐ๋ณธ์ผ๋ก
3. ์ฌ๊ท๋ฅผ ๊ฑฐ๋ญํ ์๋ก ํจํด์ด ์ปค์ง๋ค. (๋นจ๊ฐ์ -> ์ด๋ก์ -> ํ๋์ ๋ฐ์ค)
ํด๋น ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ๊ธฐ๋ณธ ํจํด์ ์ก๊ณ ์ฌ๊ท ํธ์ถ์ ์ฌ์ฉํ์ฌ ํจํด์ ํค์๋๊ฐ ๊ฒ์ด๋ค.
๊ธฐ๋ณธ์ ์ธ ํ์ ๋จผ์ ์ก์๋ณด๊ฒ ๋ค.
# ํฌ๊ธฐ ์
๋ ฅ ๋ฐ๊ธฐ
N = int(input())
#์ฌ๊ท ํจ์ ๊ฒฐ๊ณผ๋ฌผ ์ถ๋ ฅ
for i in starprinting(N):
print(i)
# pattern ๋ฐ๋ณต
def starprinting(N: int):
# ๊ธฐ๋ณธ ํจํด ์ ์
if N == 3:
pattern = ///
# ํฌ๊ธฐ๊ฐ N > 3 ์ผ ๋, ํจํด ์ ์ (์ฌ๊ท ํจ์ ์ฌ์ฉ)
new_star = ///
# ๋ฐํ
return new_star
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ธ ํฌ๊ธฐ๊ฐ 3์ธ ํจํด์ list๋ก ๊ตฌํํ๋ค.
๋จ, pattern์ ๊ฐํ๋ฌธ์๋ฅผ ํฌํจํด์๋ ์๋๋ค. ๊ฐํ๋ฌธ์ ํฌํจ์ ์ดํ์ ์ฐ๊ฒฐ๋ ์ฝ๋๊ฐ ์ ๋๋ก ๋์ํ์ง ์๊ฒ ๋๋ค.
pattern = ["***", "* *", "***"]
N์ด 3์ธ ๊ธฐ๋ณธ ํจํด์ ๋ค๋ฅธ ํจํด์ ์ถ๊ฐํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
new_star = [i * 3 for i in starprinting(N // 3)] + \
[i + ' ' * (N // 3) + i for i in starprinting(N // 3)] + \
[i * 3 for i in starprinting(N // 3)]
๊ฐ์ ํจํด์ ์๋จ์ 3๋ฒ, ์ค๋จ์ ๊ณต๋ณต์ ํฌํจํ์ฌ 2๋ฒ, ํ๋จ์ 3๋ฒ ์ ๋ ฅํ์ฌ ๋ฆฌ์คํธ๋ฅผ ๊ตฌํํ๋ ๊ตฌ์กฐ๋ก ์๊ฐ๋ณด๋ค ๊ฐ๋จํ ํํ์ด๋ค.
์ต์ข ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
N = int(input())
for i in starprinting(N):
print(i)
# pattern ๋ฐ๋ณต
def starprinting(N: int):
if N == 3:
# pattern์ ๊ฐํ ๋ฌธ์ ๋ฃ์ผ๋ฉด ์๋จ.
pattern = ["***", "* *", "***"]
return pattern
new_star = [i * 3 for i in starprinting(N // 3)] + \
[i + ' ' * (N // 3) + i for i in starprinting(N // 3)] + \
[i * 3 for i in starprinting(N // 3)]
return new_star