알고리즘
C언어 - 백준 10996 별 찍기 - 21
ZHVVVVVVV
2020. 3. 21. 13:46
728x90
반응형
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 차례대로 별을 출력한다.
https://www.acmicpc.net/problem/10996 -> 여기서 예제를 확인하세요.
★소스코드★
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
for (int i = 0; i < N * 2; i++) {
if (i % 2 == 0) {
for (int j = 0; j < N; j++) {
if (j % 2 == 0)
printf("*");
if (j % 2 == 1 && j != N - 1)
printf(" ");
}
printf("\n");
}
else {
for (int j = 0; j < N; j++) {
if (j % 2 == 0 && j != N - 1)
printf(" ");
if (j % 2 == 1)
printf("*");
}
printf("\n");
}
}
}
★정리★
이 문제는 별과 공백이 한 번씩 번갈아 가면서 나온다. 줄은 N 만큼 반복하고 바뀐다. 전체의 줄의 개수는
N*2개이므로 반복문을 사용해 주고 그 안에 두 개의 반복문을 사용하였다. 첫 번째는 줄의 첫 번째가
별인 경우이고 두 번째는 공백인 경우이다. 또 이 문제에서는 뒷부분의 공백은 출력을 하지 않기 때문에
마지막 인덱스가 공백을 출력할 차례라면 출력하지 않도록 조건문을 사용하였다.
728x90
반응형