https://www.acmicpc.net/problem/13015
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 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 |