https://www.acmicpc.net/problem/13015
(21.08.10)
13015번: 별 찍기 23 - C언어 풀이
[소스코드]
#include <stdio.h>
// [baekjoon] 13015번 - 별찍기 - 23
int main() {
int n, i, j;
scanf("%d", &n);
for (i = 0; i < 2 * n - 1; i++) {
if (i == 0 || i == 2 * n - 2) { // 첫줄, 마지막줄
for (j = 0; j < n; j++) printf("*");
for (j = 0; j < 2 * n - 3; j++) printf(" ");
for (j = 0; j < n; j++) printf("*");
}
else if (i == n - 1) { // 가운데줄
for (j = 0; j < i; j++) printf(" ");
printf("*");
for (j = 0; j < n - 2; j++) printf(" ");
printf("*");
for (j = 0; j < n - 2; j++) printf(" ");
printf("*");
}
else if (i < n - 1) { // 가운데줄 전까지
for (j = 0; j < i; j++) printf(" ");
printf("*");
for (j = 0; j < n - 2; j++) printf(" ");
printf("*");
for (j = 0; j < (2 * n) - 3 - (2 * i); j++) printf(" ");
printf("*");
for (j = 0; j < n - 2; j++) printf(" ");
printf("*");
}
else { // 마지막줄 전까지
for (j = 0; j < (2 * n - 2 - i); j++) printf(" ");
printf("*");
for (j = 0; j < n - 2; j++) printf(" ");
printf("*");
for (j = 0; j < (i - (n - 1)) * 2 - 1; j++) printf(" ");
printf("*");
for (j = 0; j < n - 2; j++) printf(" ");
printf("*");
}
printf("\n");
}
}
그 동안 별찍기 문제를 푼 방식과 동일하게
별의 개수와 빈칸의 개수의 규칙을 찾아서 풀면 된다.
'학습 정리 > 👨💻 PS Study' 카테고리의 다른 글
[C] 백준 1283번 - 단축키 지정 (0) | 2022.07.08 |
---|---|
[C] 백준 1475번 - 방 번호 (0) | 2022.07.07 |
[C] 백준 10808번 - 알파벳 개수 (0) | 2022.07.06 |
[C] 백준 1157번 - 단어 공부 (0) | 2022.07.06 |
[C] 백준 14582번 - 오늘도 졌다 (0) | 2022.07.06 |