C#/C# (백준)

[C#] 백준 알고리즘 2439번, 별 찍기 -2

서니션 2023. 1. 12. 10:33
728x90
반응형

using System;

namespace codingstudy
{
    class Program
    {
        static void Main()
        {
            int n = int.Parse(Console.ReadLine()); // 입력
        
            for (int i=1; i<=n; i++) // n만큼 for문
            {
                for(int j=n; j>=i+1; j--) // j가 n의 값에서 -1되어 공백을 채우도록 for문
                {
                    Console.Write(" ");
                }
                for(int k=1; k<i+1; k++) // * 채우기 for문
                {
                    Console.Write("*");
                }
                Console.Write("\n"); // 줄바꿈
            }
        }
    }
}

출력형식이 두 번이나 잘못되었다고 해서 무엇이 문제인지 고민했다.

Console.Write에 " " 공백말고 다른 문자를 넣어서 확인해보니까

공백이 하나씩 모자랐던 것을 확인했다

for문의 j>=i+1이 >로 되어있어서 이 부분을 수정해주었더니 정답이 나왔다.

 

using System;

namespace codingstudy
{
    class Program
    {
        static void Main()
        {
            int n = int.Parse(Console.ReadLine());
            int j=n;
            int k=1;
            for (int i = 1; i <= n; i++)
            {
                for (j = n; j > k; j--)
                {
                    Console.Write(" ");
                }
                for (k = 1; k < i+1; k++)
                {
                    Console.Write("*");
                }
                Console.Write("\n");
            }
        }
    }
}

i+1말고 k를 넣을 수도 있지 않을까? 라는 생각에 작성해보았는데

첫 번째로 제출한 것 보다 시간이 더 걸린다 하하

그래도 다른 방식도 구현했다는 점이 좋다

728x90
반응형