문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
코드 풀이
<이번 문제 핵심!!>
- 각 줄은 1개부터 시작하여 2개씩 늘어나는 구조
- 한 줄에 2 * N - 1개의 별이 찍히면 반대로 2개씩 감소하는 구조로 별이 찍히게 된다.
- 찍히는 별의 모양은 마름모 모양으로 출력
- 각 출력되는 별은 가운데 정렬한 모양으로 찍혀야 하며, 이는 앞에 공백 출력으로 구현
✔️ range 함수의 범위를 역순으로 지정하고 싶을 때는 세번째 파라미터로 음수를 넣어줌!
- range(시작값, 끝값, -1) : 시작값부터 끝값까지 역순으로 출력
- 별의 개수가 증가하는 부분 → for문
- 별의 개수가 감소하는 부분 → for문
# N 입력받기
N = int(input())
# 별의 개수가 증가하는 부분
for i in range(1, n + 1):
print(" " * (n - i) + "*" * (2 * i - 1))
# 별의 개수가 감소하는 부분
for i in range(n - 1, 0, -1): # 역순으로 출력
print(" " * (n - i) + "*" * (2 * i - 1))
반응형
'Programming Language > Python3.6' 카테고리의 다른 글
[python 파이썬] 백준 1157번 코드 풀이 (1) | 2024.06.20 |
---|---|
[python 파이썬] 백준 10988번 코드 풀이 (0) | 2024.06.20 |
[python 파이썬] 백준 3003번 코드 풀이 (0) | 2024.06.20 |
[python 파이썬] 백준 25083번 코드 풀이 (0) | 2024.06.20 |
[python 파이썬] 백준 단계별로 풀어보기 <5단계: 문자열> 답안 코드 모음 (0) | 2024.06.01 |