Machineboy空
백준 15552: 빠른 A+B (입출력 시간 단축) 본문
//시간 초과 코드
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 클래스를 사용하면 효과적
'Computer > Coding Test' 카테고리의 다른 글
프로그래머스 - 옹알이(1) (0) | 2023.09.19 |
---|---|
백준 1546: 평균 (자료형 구분) (0) | 2023.09.08 |
백준 2562: 최댓값 / 알고리즘: 최단 거리 갱신 (0) | 2023.09.06 |
백준 10951: A+B - 4 (while문 활용) 입력값 마지막 줄까지 읽는 법 (0) | 2023.09.06 |
백준 10171,10172: C# 특수문자 출력( \ ,",)) (1) | 2023.09.04 |