반응형
Notice
Recent Posts
Recent Comments
Link
안경잡이 구루루
백준 2446 ( 별 찍기 - 9 ) [ Python ] 본문
반응형
나:
N = int(input())
1 <= N <= 100
for i in range(N-1):
print(' '*i+ '*'*((N+(N-1))-2*i))
for i in range(N):
print(' '*(N-1-i) + '*'*((N-(N-1))+2*i))
완성된 코드는 위와 같다.
N = int(input())
1 <= N <= 100
2 * N-1 번 반복할 N의 값을 int형으로 받고 그것의 범위를 선언한다.
for i in range(N-1):
print(' '*i+ '*'*((N+(N-1))-2*i))
위 문제는 크게 별(*)이 2개씩 감소하며 빈칸이 1개씩 늘어나는 부분과 그 반대 부분 2가지로 나눠서 풀 수 있다.
위 코드는 별이 감소하며 빈칸이 늘어나는 부분으로 for 반복문을 이용했다.
빈칸의 개수는 i의 값과 일치하고 별(*)의 개수는 최대출력 (N+N-1)에서 증가하는 빈칸값 (2 * i ) 만큼 빼면 된다.
for i in range(N):
print(' '*(N-1-i) + '*'*((N-(N-1))+2*i))
위 코드는 별이 증가하며 빈칸이 늘어나느 부분으로 for 반복문을 사용한다.
그러나 이전 반복문에서 1개까지 별을 출력했기 때문에 여기선 3개부터 별의 출력을 2개씩 증가시켜야 한다.
빈칸의 개수는 최대 개수 N-1에서 i만큼 감소한 것과 같고 별의 출력은 최소개수 N-N-1에서 2*i만큼 증가시키도록 더하면 된다.
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 10818 ( 최소, 최대 ) [ Python ] (0) | 2020.06.04 |
---|---|
백준 10996 ( 별 찍기 - 21 ) [ Python ] (0) | 2020.06.04 |
백준 2523 ( 별 찍기 - 13 ) [ Python ] (0) | 2020.05.28 |
백준 10871 ( 세 수 ) [ Python ] (0) | 2020.05.26 |
백준 5543 ( 상근날드 ) [ Python ] (0) | 2020.05.23 |