[백준 10994 - 별 찍기 19]

허난경·2021년 9월 30일
0

튜터링

목록 보기
1/3
post-thumbnail

문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어보세요.

입력
첫째 줄에 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) 코드를 구현할 때 반복문 사용이 아닌 재귀함수을 사용해서 구현해보고 싶다.

profile
eresbonita

0개의 댓글