반응형
https://www.acmicpc.net/problem/2444
2444번: 별 찍기 - 7
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
문제 설명
이번 별 찍기는 별 찍기 5번과 별 찍기 6번을 합친듯한 모습을 보여주었습니다. 위의 2문제의 별을 출력하는 부분을 합쳐서 해결을 하였습니다.
코드를 그대로 붙이니, 가운데 부분에서 중복되는 모습을 보여주고 있습니다. 해결 방법으로는 가운데 겹치는 부분을 한 번만 출력이 되도록 반복 횟수를 조절하면 됩니다.
위의 정 삼각형을 그리는 반복문 i가 N-1 일때 반복을 하지 않게 조절하거나, 밑의 역 삼각형을 그리는 반복문의 i가 0이 아닌 1부터 시작을 하는 방법이 있습니다. 저는 후자를 택하여 문제를 해결하였습니다.
코드 (C언어)
#include <stdio.h>
int main(void)
{
int i, j, n;
scanf("%d", &n);
//별 찍기 5 번
for(i = 0; i < n; i++)
{
for(j = 0; j < n-1-i; j++)
{
printf(" ");
}
for(j = 0; j < (i * 2) + 1; j++)
{
printf("*");
}
printf("\n");
}
// 별 찍기 6 번 : i를 0이 아닌 1부터 시작하여 중복 부분이 나오지 않게 조치
for(i = 1; i < n; i++)
{
for(j = 0; j < i; j++)
{
printf(" ");
}
for(j = 0; j < (n * 2) - (i * 2 + 1); j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
반응형
'코딩 > 백준' 카테고리의 다른 글
[C언어] 백준 BOJ 2445 별 찍기 8 (0) | 2022.07.27 |
---|---|
[C언어] 백준 BOJ 2446 별 찍기 9 (0) | 2022.07.26 |
[C언어] 백준 BOJ 2443 별 찍기 6 (0) | 2022.07.24 |
[C언어] 백준 BOJ 2442 별 찍기 5 (0) | 2022.07.23 |
[C언어] 백준 BOJ 2441 별 찍기 4 (0) | 2022.07.22 |