본문 바로가기
프로그래밍/Algorithm

C# [백준 BAEKJOON] 10992번 별 찍기 - 17

by bantomak 2024. 3. 8.

문제

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

 

입력

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

 

출력

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

 

 

10992번: 별 찍기 - 17

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

www.acmicpc.net

 

 

풀이 코드

using System;
using System.Text;

class Program
{
    static void Main(string[] args)
    {
        var input = Console.ReadLine();
        var count = Int32.Parse(input);

        var sb = new StringBuilder();

        for (int i = 0; i < count; i++)
        {
            for (int j = count - i; 1 < j; j--)
            {
                sb.Append(" ");
            }

            if (i == 0 || i == count - 1)
            {
                for (int j = 0; j < Math.Max((2 * i) + 1, 1); j++)
                {
                    sb.Append("*");
                }
            }
            else
            {
                for (int j = 0; j < Math.Max((2 * i) + 1, 1); j++)
                {
                    if (j == 0 || j == Math.Max((2 * i) + 1, 1) - 1)
                    {
                        sb.Append("*");
                    }
                    else
                    {
                        sb.Append(" ");
                    }
                }
            }

            sb.AppendLine();
        }

        Console.WriteLine(sb.ToString());
    }
}

댓글