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
'알고리즘' 카테고리의 다른 글
C언어 - 백준 1193 분수찾기 (0) | 2020.09.23 |
---|---|
C언어 - 백준 2292 벌집 (0) | 2020.03.25 |
C언어 - 백준 2446 별 찍기 - 9 (0) | 2020.03.21 |
C언어 - 백준 2523 별 찍기 - 13 (0) | 2020.03.20 |
C언어 - 백준 10039 평균 점수 (0) | 2020.03.20 |