문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어보세요.
입력
첫째 줄에 N(1<=N<=100)이 주어진다.
출력
첫째 줄부터 차례대로 별을 출력한다.
예시 1
예시 2
예시 3
예시 4
분석 내용
N = 1 일때는 너무 간단해 분석하기 어렵기 때문에 N=2, 3일 때를 분석해보았다.
N = 2일 때, 한 줄에 5개의 별
N = 3일 때, 한 줄에 9개의 별
N = 4일 때, 한 줄에 13개의 별
...
N일 때, 한 줄에는 N4-3 또는 (N-1)4+1개의 별이 있다.
코드 구현(python 언어) - 반복문 사용
N = int(input())
for i in range(1,N) :
last = (N-i) * 4 + 1
print('* ' * (i-1) + '*' * last + ' *' * (i-1))
print('* ' * i + ' ' * (last - 4) + ' *' * i)
print('* ' * (N*2-1))
for i in range(N-1, 0,-1) :
last = (N-i) * 4 + 1
print('* ' * i + ' ' * (last - 4) + ' *' * i)
print('* ' * (i-1) + '*' * last + ' *' * (i-1))
코드 구현(C 언어)
궁금한 점 및 기타 사항
1) 코드를 구현할 때 반복문 사용이 아닌 재귀함수을 사용해서 구현해보고 싶다.