memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다.

 

문제

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

 

예제

# 입력
5

# 출력
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********

Coding - Python3

  1. 상단, 하단을 나눠서 별을 찍는다.
  2. 규칙을 파악한다.
    1. 상단: 2 * n - 1 (n이 점차 감소)
      1. 만약 n = 5 라면, 9, 7, 5, 3, 1
    2. 하단: 2 * n - 1 (n이 점차 증가)
      1. 만약 n = 5 라면, 1, 3, 5, 7, 9
# -*- coding: utf-8 -*-

import sys


def solution(num):
    # 상단 별
    for i in range(num, 0, -1):
        print(" " * (num - i), end="")
        print("*" * (2 * i - 1))

    # 하단 별
    for i in range(2, num + 1):
        print(" " * (num - i), end="")
        print("*" * (2 * i - 1))


if __name__ == "__main__":
    num = int(sys.stdin.readline())
    solution(num)

채점 결과

비슷한 문제

2020/06/22 - [Algorithm/Beakjoon] - 백준 2523번 - 별 찍기 - 13 (with Python3)

 

백준 2523번 - 별 찍기 - 13 (with Python3)

본 문제는 백준 알고리즘(https://www.acmicpc.net/)에게 있습니다. 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 예제 # 입력 3 # 출력 * ** *** ** * Coding - Python3 for 문 2개를 이용해서 '상단..

memostack.tistory.com

Reference

 

2446번: 별 찍기 - 9

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!