백준 알고리즘 10990번 : 별 찍기 - 15

Zoo Da·2021년 6월 16일
0

백준 알고리즘

목록 보기
81/337
post-thumbnail

링크

https://www.acmicpc.net/problem/10990

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력 및 출력

풀이법

  1. 1 ~ n - 1 의 공백이 존재 후 별을 1개 찍고 줄바꿈
  2. 2 ~ n번째 줄에는 1번째 줄과 마찬가지로 1부터 n - 1개의 외부 공백이 존재함
  3. 별을 1개 찍고 내부 공백을 준다. (n >= 2)일 때 홀수개 만큼 내부 공백이 존재하므로 2*(i - 1) - 1 만큼 공백을 찍어주면 된다.
  4. 별을 1개 찍고 줄바꿈

풀이 코드

// 10990번 : 별찍기 - 15

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    // 첫번째 줄
    for (int i = 1; i <= n - 1; i++)
    {
        printf(" ");
    }
    printf("*\n");
    // 2 ~ n번째 줄
    for (int i = 2; i <= n; i++)
    {
        // 외부 공백
        for (int j = 1; j <= n - i; j++)
        {
            printf(" ");
        }
        printf("*");
        // 내부 공백
        for (int k = 1; k <= (i - 1) * 2 - 1; k++)
        {
            printf(" ");
        }
        printf("*\n");
    }
    return 0;
}
profile
메모장 겸 블로그

0개의 댓글