본문 바로가기

Programming Language/Python3.6

[python 파이썬] 백준 2444번 코드 풀이

문제

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

입력

첫째 줄에 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))

 

 

반응형