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)