내 맴
[ BAEKJOON ] No. 2447 : 별 찍기 - 10 본문
728x90
문제 )
https://www.acmicpc.net/problem/2447
2447번: 별 찍기 - 10
재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다.
www.acmicpc.net
N=3 일 때,
N= 9 일 때,
가로가 x축, 세로가 y축이라고 하면,
< 노란색으로 색칠된 부분 >
: X= 1, 4, 7
그러므로, 3으로 나눈 나머지가 1이다
< 파란색으로 색칠된 부분 >
: X= 3, 4, 5 이므로, 3으로 나눈 몫이 1이다.
- python code
def drawstar(star):
printstar=[]
for i in range(3*len(star)): #행 의미
if i//len(star)==1: #3으로 나눈 몫이 1일 때
printstar.append(star[i%len(star)]+" "*len(star)+star[i%len(star)])
else:
printstar.append(star[i%len(star)]*3)
return printstar
star=["***", "* *", "***"]
N=int(input())
k=0
while N!=3:
N= int(N/3)
k+=1
for i in range(k):
star=drawstar(star)
for i in star:
print(i)
728x90
'Algorithm > Baekjoon 문제풀이' 카테고리의 다른 글
[ BAEKJOON ] No. 10828 스택 (0) | 2020.03.31 |
---|---|
[ BAEKJOON ] No. 11729 : 하노이 탑 이동 순서 (0) | 2020.03.25 |
[ BAEKJOON ] No. 10870 : 피보나치 수 5 (0) | 2020.03.19 |
[ BAEKJOON ] No. 2798 : 블랙잭 (0) | 2020.03.18 |
[ BAEKJOON ] No. 10872 : 팩토리얼 (0) | 2020.03.18 |