본문 바로가기
코딩테스트 준비/백준 C#

백준 C# 15552

by 코딩하는 돼징 2023. 4. 9.
반응형
using System;

namespace baek2
{
    class Program
    {
        static void Main(string[] args)
        {
            string input_n = Console.ReadLine();
            int n = int.Parse(input_n);
            
            while(n>0)
            {
                string input_AB = Console.ReadLine();
                string[] AB = input_AB.Split();

                int A = int.Parse(AB[0]);
                int B = int.Parse(AB[1]);

                Console.WriteLine(A+B);
                n--;
            }
        }
    }
}

위의 코드로 제출을 하고 난 후 시간초과 결과를 받았다.


문제를 다시 읽어 보니 아래와 같은 안내가 있었다.

C#

StreamReader로 읽고, StringBuilder로 출력을 모아 놓았다가 그 String을 Console.WriteLine하는 방법이 있습니다. BufferedStream과 StringWriter로 조금 더 향상시킬 수 있는 것 같으나 자세한 것은 다른 분의 답변을 기다리겠습니다.


StringBuilder 개념 알아보러 가기

 

StringBuilder

String String 개체는 변경할 수 없다. System.String 클래스에서 메서드 중 하나를 사용할 때마다 메모리에 새 문자열 개체가 생성되므로, 새 개체에 대한 공간을 새로 할당 되어진다. 그러므로 문자열

code-piggy.tistory.com


수정한 코드

using System;
using System.Text;
namespace baek2
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();
            string input_n = Console.ReadLine();
            int n = int.Parse(input_n);
            
            while(n>0)
            {
                string input_AB = Console.ReadLine();
                string[] AB = input_AB.Split();

                int A = int.Parse(AB[0]);
                int B = int.Parse(AB[1]);
                
                sb.AppendLine((A + B).ToString());
                n--;
            }
            Console.Write(sb);
        }
    }
}

 

 

 

반응형

'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글

백준 C# 11022  (0) 2023.04.09
백준 C# 11021  (0) 2023.04.09
백준 C# 25314  (0) 2023.04.08
백준 C# 25304  (0) 2023.04.08
백준 C# 8393  (0) 2023.04.07

댓글