#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
for (int i = 0; i < 2 * N; i++) { //i=0이 1번째 줄 ... 설명하기 좀 헷갈리네요 담엔 i=1로 찍을께요
if (N == 1) { cout << "*"; return 0; } //1을 입력해 줬을때 1개가 찍히게 해줍니다
else if (i % 2 == 0) { //홀수번째 줄에 별을 찍는 경우를 if문으로 빼줍니다
if (N % 2 == 0) { //입력 변수가 짝수일 땐 변화 없으므로 범위에 변화 없이 별을 찍음.
for (int j = 0; j < N / 2; j++) {
cout << "* "; //별 + 공백을 찍어줍니다.
}
}
else { //그림을 보시면 N에 홀수를 넣었을때 홀수번째 줄 별이 추가된걸 알 수 있음
for (int j = 0; j < N / 2 + 1; j++) { //입력 변수가 홀수일 때 홀수번째 줄 별을 추가로 찍어줍니다.
cout << "* ";
}
}
cout << "\n";
}
else if (i % 2 == 1) { //짝수번째 줄 별을 찍는 경우를 if문으로 빼줍니다
if (N % 2 == 0) { //입력 변수가 짝수일 경우에 별을 추가로 찍어줍니다.
for (int j = 0; j < N / 2 ; j++) {
cout << " *";
}
}
else {
for (int j = 0; j < N / 2; j++) { //입력 변수가 홀수일 땐 변화 없으므로 범위에 변화 x
cout << " *";
}
}
cout << "\n";
}
}
}
설명이 많이 복잡하네요 ... 홀수,짝수번째 줄 따로 찍는거만 잘 구분하면 될것 같습니다!
'[백준 Baekjoon 알고리즘]' 카테고리의 다른 글
[백준 Baekjoon 알고리즘] 2562번 최댓값 문제 (0) | 2020.09.14 |
---|---|
[백준 Baekjoon 알고리즘] 10818번 최소, 최대 문제 (0) | 2020.09.14 |
[백준 Baekjoon 알고리즘] 2446번 별 찍기 - 9 문제 (0) | 2020.09.14 |
[백준 Baekjoon 알고리즘] 2523번 별 찍기 - 13 문제 (0) | 2020.09.08 |
[백준 Baekjoon 알고리즘] 5543번 상근날드 문제 (0) | 2020.09.08 |