CS/BOJ

[BOJ, Python] 13015번 : 별 찍기 - 23

아이스얼그레이 2022. 4. 20. 23:09

https://www.acmicpc.net/problem/13015

 

13015번: 별 찍기 - 23

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

www.acmicpc.net

문제

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

입력

첫째 줄에 N(2 ≤ N ≤ 100)이 주어진다.

출력

규칙대로 별을 출력한다.

예제 입력 1

2

예제 출력 1

** **
 ***
** **

예제 입력 2

5

예제 출력 2

*****       *****
 *   *     *   *
  *   *   *   *
   *   * *   *
    *   *   *
   *   * *   *
  *   *   *   *
 *   *     *   *
*****       *****

 

귀도 반 로섬에게 감사하며 풀었던 문제입니다. C나 java로 풀었다면 무수한 반복문을 써야할 것 같습니다..!!

어디서 홀수 개, 짝수 개가 나오는지만 체크하면 해결할 수 있습니다.

 

N = int(input())

print("*" * N + " " * (2 * N - 3) + "*" * N)

for i in range((2 * N - 3) // 2):
    print(" " * (i + 1) + "*" + " " * (N - 2) + "*" + " " * (2 * (N - i) - 5) + "*" + " " * (N - 2) + "*")

print(" " * (N - 1) + "*" + " " * (N - 2) + "*" + " " * (N - 2) + "*")

for i in range((2 * N - 3) // 2 - 1, -1, -1):
    print(" " * (i + 1) + "*" + " " * (N - 2) + "*" + " " * (2 * (N - i) - 5) + "*" + " " * (N - 2) + "*")

print("*" * N + " " * (2 * N - 3) + "*" * N)

'CS > BOJ' 카테고리의 다른 글

[BOJ, Python] 1157번 : 단어 공부  (0) 2022.04.30
[BOJ, Python] 1763번 : 듣보잡  (0) 2022.04.21
[BOJ, Python] 10996번 : 별 찍기 - 21  (0) 2022.04.20
[BOJ, Python] 10610번 : 30  (0) 2022.04.20
[BOJ, Python] 2941번 : 크로아티아 알파벳  (0) 2022.04.20