🔗 https://www.acmicpc.net/problem/2444
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
별이 1개~2N-1개 로 순서대로 찍혀야한다.
모양을 반으로 나눠서 생각해보자.
1개 ~ (2N-1)개까지 1파트
2개 ~ (N*2-1)개까지 2파트
빈칸과 *을 개수에 맞추어 출력하면 된다
이때 end='' 을 활용하면 엔터 없이 문자들을 붙여서 한줄로 프린트할 수 있다.
그러면 이런식으로 1파트의 코드를 for문을 활용해서 적을 수 있다.
for i in range(1, N+1) :
for j in range(N, i, -1):
print(" ", end="")
for k in range(i*2-1) :
print("*", end='')
print()
같은 로직으로 이제 줄어들게 만들면 된다.
for i in range(1, N) :
for j in range(i) :
print(" ", end='')
for k in range((N-i)*2-1) :
print("*", end='')
print()
# 별 찍기 -7
N = int(input())
for i in range(1, N+1) :
for j in range(N, i, -1):
print(" ", end="")
for k in range(i*2-1) :
print("*", end='')
print()
for i in range(1, N) :
for j in range(i) :
print(" ", end='')
for k in range((N-i)*2-1) :
print("*", end='')
print()