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

C# [백준 BAEKJOON] 2445번 별 찍기 - 8

by bantomak 2024. 3. 8.

문제

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

 

입력

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

 

출력

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

 

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

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 = 0; j < i + 1; j++)
            {
                sb.Append("*");
            }

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

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

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

            sb.AppendLine();
        }

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

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

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

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

            sb.AppendLine();
        }

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

댓글