Q.2444
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

출력 예시를 보면 아래 줄로 이동할수록 별이 2개씩 + / - 되고 있음
→ (2 * i) - 1 의 규칙!
ex) N = 5라면,
첫째 줄은 (2 * 1) - 1 = 1,
둘째 줄은 (2 * 2) - 1 = 3,
셋째 줄은 (2 * 3) - 1 = 5, ...
이렇게 하다가 제일 길게 출력되는 i = 5 까지 이동하면 (2 * 5) - 1 = 9, 즉 예제 출력처럼 중간에 별 9개를 출력함
아래로 갈수록 2개씩 늘어남, 중간 이후로 줄어드는 것도 같은 원리! (큰 수부터 역으로 출력)
ex) N = 5라면,
역출력 첫째 줄은 (2 * 4) - 1 = 7,
역출력 둘째 줄은 (2 * 3) - 1 = 5,
역출력 셋째 줄은 (2 * 2) - 1 = 3, ...
N = int(input())
# 위에서부터 하나씩 + 하기
# range()범위를 1부터 시작하자
# 아래 별을 출력하기 위해선 인덱스인 i = 1부터 시작해야 함...
# -> range(N)으로 입력해서 0부터 시작한다면, 첫째 줄은 아래 print()문에서 2 * i - 1이 -1이 되어버림!
for i in range(1, N + 1):
# ex) N = 5라면, (첫째 줄인 경우의 출력)
# 공백 ''는 5 - 1 = 4
# 별 '*'는 2 * 1 = 2, 2 - 1 = 1 이니, 첫째 줄은 별 하나만 출력
print(' ' * (N - i)+ ("*" * (2 * i - 1)))
# 위에서부터 하나씩 - 하기
for i in range(N - 1, 0, -1):
print(' ' * (N - i)+ ("*" * (2 * i - 1)))
'백준 (Baekjoon) > 백준 - 파이썬 풀이' 카테고리의 다른 글
| [파이썬] 백준 6단계 5 <심화 1> - Q.1157 (0) | 2024.11.05 |
|---|---|
| [파이썬] 백준 6단계 4 <심화 1> - Q.10988 (0) | 2024.11.05 |
| [파이썬] 백준 6단계 2 <심화 1> - Q.3003 (0) | 2024.11.05 |
| [파이썬] 백준 6단계 1 <심화 1> - Q.25083 (0) | 2024.11.05 |
| [파이썬] 백준 5단계 11 <문자열> - Q.11718 (0) | 2024.11.02 |