예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 차례대로 별을 출력한다.
https://www.acmicpc.net/problem/10994
출력값을 보니 행,열크기가 같고, 규칙은 4n - 3 이다.
여기에서 총사각형은 n개 이고, 시작인덱스와 끝인덱스를 n번마다 수정해주면서 for문을 돌리면된다.
#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
int main(int n) {
scanf("%d", &n);
int size = 4 * n - 3;
char** star = new char* [size];
for (int i = 0; i < size; i++) {
star[i] = new char[size];
for (int j = 0; j < size; j++)
star[i][j] = ' '; //공백문자로 초기화
}
int start = 0;
int end = 4 * n - 4;
for (int i = 0; i < n; i++) {
for (int j = start; j <= end; j++) {
star[start][j] = '*'; //상단 한줄
star[j][start] = '*'; //좌측 한줄
star[j][end] = '*'; //우측 한줄
star[end][j] = '*'; //하단 한줄
}
start += 2;
end -= 2;
}
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++)
printf("%c", star[i][j]);
printf("\n");
}
return 0;
}