별찍기 - 8
별찍기 아래 단계부터 풀어오면서
변수를 요리조리 조합해서 별의 갯수를 찍어도 보고 고민하다가
다른 사람들 중 for문을 그냥 여러개 해서 간단하게 찍는 갯수만으로 하는 방식을 보고
그 방식이 나한테 더 맞는 것 같아서 그 방식으로 풀었다.
구글 검색을 하면 변수를 요리조리 한것도 있지만, 변수를 어떻게 할 것인가는 나에겐 좀 복잡해서...
간단하게 설명을 하면
첫번째 줄에서 n번째 줄까지 첫번재 큰 for문을 통해 구했다.
그리고 두번째 큰 포문에서 나머지 n-1 개의 줄을 구했다.
for 문 안에서는
별 찍고 -> 공백 찍고 -> 별찍고 -> 공백찍고
이런식으로 돌아가는 4개의 for문으로 구성하였다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include<iostream> #include<vector> using namespace std; int main() { int n; cin >> n; int mid = 2 * n / 2; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { cout << "*"; } for (int j = 1; j <= n-i; j++) { cout << " "; } for (int j = 1; j <= n-i; j++) { cout << " "; } for (int j = 1; j <= i; j++) { cout << "*"; } cout << endl; } for (int i = n-1; i >= 1; i--) { for (int j = 1; j <= i; j++) { cout << "*"; } for (int j = 1; j <= n - i; j++) { cout << " "; } for (int j = 1; j <= n - i; j++) { cout << " "; } for (int j = 1; j <= i; j++) { cout << "*"; } cout << endl; } return 0; } | cs |
반응형