Development/Program Solving

[백준 단계별로 풀어보기] 반복문 with C#

이쥬딩 2023. 7. 10. 14:29
728x90

2739번: 구구단

int number = int.Parse(Console.ReadLine().ToString());
for (var i = 1; i < 10; i++)
{
	Console.WriteLine("{0} * {1} = {2}",number, i, number*i);
}

10950번: A+B - 3

using System.Text;  

class Program
    {
        static void Main(string[] args)
        {

          StringBuilder stringBuilder = new StringBuilder();
          int length = int.Parse(Console.ReadLine());

          for (int i = 0; i < length; i++)
          {
            string[] array = Console.ReadLine().Split(" ");
            string value = (int.Parse(array[0]) + int.Parse(array[1])).ToString();
            stringBuilder.AppendLine(value);
          } 
            Console.WriteLine(stringBuilder);
        }
    }

StringBuilder

 

.NET에서 StringBuilder 클래스 사용

.NET에서 StringBuilder 클래스를 사용하는 방법을 알아봅니다. 이 클래스를 사용하면 새 개체를 만들지 않고 문자열을 수정합니다.

learn.microsoft.com

String 개체는 변경할 수 없습니다. System.String 클래스에서 메서드 중 하나를 사용할 때마다 메모리에 새 문자열 개체가 생성되므로, 새 개체에 대한 공간을 새로 할당해야 합니다. 문자열을 반복적으로 수정해야 하는 경우 새로운 String 개체 생성과 관련된 오버헤드로 인해 비용이 증가할 수 있습니다. 새 개체를 만들지 않고 문자열을 수정하려는 경우 System.Text.StringBuilder 클래스를 사용할 수 있습니다. 예를 들어 StringBuilder 클래스를 사용하면 루프에서 많은 문자열을 연결할 때 성능이 향상될 수 있습니다.

 

8393번: 합

int num = int.Parse(Console.ReadLine());
      int sum = 0;

      for (var i = 1; i <= num; i++)
      {
        sum += i;
      }

      Console.WriteLine(sum);

 

25304번: 영수증

      int total = int.Parse(Console.ReadLine());
      int length = int.Parse(Console.ReadLine());
      int sum = 0;

      for (var i = 0; i < length; i++)
      {
        string[] array = Console.ReadLine().Split(' ');
        int num1 = int.Parse(array[0]);
        int num2 = int.Parse(array[1]);
        sum += num1 * num2;
      }

      if (total == sum)
      {
        Console.WriteLine("Yes");
      }
      else
      {
        Console.WriteLine("No");
      }

25314번: 코딩은 체육과목입니다

using System.Text; 
class Program
  {
    static void Main(string[] args)
    {
      int num = int.Parse(Console.ReadLine());
      StringBuilder stringBuilder = new StringBuilder();

      int length = num / 4;
      for (int i = 0; i < length; i++)
      {
        stringBuilder.Append("long ");
      }

      stringBuilder.Append("int");

      Console.WriteLine(stringBuilder);
    }

    }

15552번: 빠른 A+B

using System.Text;
 
class Program
  {
    static void Main(string[] args)
    {
      int count = int.Parse(Console.ReadLine());
      StringBuilder stringBuilder = new StringBuilder();

      for (var i = 0; i < count; i++)
      {
        string[] array = Console.ReadLine().Split(' ');
        int a = int.Parse(array[0]);
        int b = int.Parse(array[1]);
        stringBuilder.AppendLine((a + b).ToString());
      }

      Console.WriteLine(stringBuilder);

    }}

11021번: A+B - 7

using System.Text;

class Program
  {
    static void Main(string[] args)
    {
      int count = int.Parse(Console.ReadLine());
      StringBuilder stringBuilder = new StringBuilder();

      for (var i = 1; i <= count; i++)
      {
        string[] array = Console.ReadLine().Split(' ');
        int a = int.Parse(array[0]);
        int b = int.Parse(array[1]);
        stringBuilder.AppendFormat("Case #{0}: {1} \n", i, (a + b).ToString());
      }

      Console.WriteLine(stringBuilder);

    }
  }

8393번: A+B -8

using System.Text;
class Program
  {
    static void Main(string[] args)
    {
      int count = int.Parse(Console.ReadLine());
      StringBuilder stringBuilder = new StringBuilder();

      for (var i = 1; i <= count; i++)
      {
        string[] array = Console.ReadLine().Split(' ');
        int a = int.Parse(array[0]);
        int b = int.Parse(array[1]);
        stringBuilder.AppendFormat("Case #{0}: {1} + {2} = {3} \n", i, a, b, (a + b).ToString());
      }

      Console.WriteLine(stringBuilder);
    }
  }

2438번: 별 찍기

int length = int.Parse(Console.ReadLine());
      string str = null;

      for (var i = 1; i <= length; i++)
      {
        for (var y = i; y > 0; y--)
        {
          str += "*";

        }
        Console.WriteLine(str);
        str = null;
      }

2439번: 별 찍기 -2 

using System.Text;
class Program
  {
    static void Main(string[] args)
    {
      int length = int.Parse(Console.ReadLine());
      StringBuilder stringBuilder = new StringBuilder();

      for (var i = 1; i <= length; i++)
      {
        int x = length - i;
        for (var y = i; y > 0; y--)
        {
          for (; x > 0; x--)
          {
            stringBuilder.Append(' ');
          }
          stringBuilder.Append("*");

        }
        Console.WriteLine(stringBuilder);
        stringBuilder.Clear();
      }
    }
  }

10952번: A+B -5

using System.Text;
class Program
  {
    static void Main(string[] args)
    {
      StringBuilder stringBuilder = new StringBuilder();
      while (true)
      {
        string[] array = Console.ReadLine().Split();
        int a = int.Parse(array[0]);
        int b = int.Parse(array[1]);

        if (a == 0 && b == 0)
        {
          break;
        }

        stringBuilder.AppendLine((a + b).ToString());
      }
      Console.WriteLine(stringBuilder);
    }
  }

10951번: A+B - 4

using System.Text;
class Program
  {
    static void Main(string[] args)
    {
      StringBuilder stringBuilder = new StringBuilder();
      while (true)
      {
        string input = Console.ReadLine();
        if (input == null)
        {
          break;
        }
        string[] array = input.Split();
        int a = int.Parse(array[0]);
        int b = int.Parse(array[1]);

        stringBuilder.AppendLine((a + b).ToString());
      }
      Console.WriteLine(stringBuilder);
    }
  }

 

 

더 좋은 코드가 있다면 댓글 주시면 감사하겠습니다 :)

728x90