Machineboy空

백준 15552: 빠른 A+B (입출력 시간 단축) 본문

Computer/Coding Test

백준 15552: 빠른 A+B (입출력 시간 단축)

안녕도라 2023. 9. 6. 09:51
//시간 초과 코드

using System;

namespace CodingTestForBaekJoon
{
    class Program
    {
        static void Main(string[] args)
        {
            string T = Console.ReadLine();
            int numT = Int32.Parse(T);

            for (int i = 0; i < numT; i++)
            {
                string[] pair = Console.ReadLine().Split();

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

                int Sum = A + B;
                Console.WriteLine(Sum);
            }
        }       
    }
}

원인) string을 사용해 출력하게 되면 처리 속도가 느리다.

int, float string
값 형식 참조 형식
  string 변수를 Int32.Parse할 경우, 저장되었던 값이 바뀌는 것이 아니라 새로운 저장 공간에 새로운 string이 생성되는 방식
  따라서 string 많이 쓸 수록 공간이 낭비되고 속도가 느려진다.

해결) String Builder를 사용한다! 

- 많은 양의 문자열을 반복해서 묶는 작업이 필요할 때는 StringBuilder 클래스를 사용하면 효과적