system.out 대신 StringBuilder를 이용하여 알고리즘 시간 초과 문제를 개선할 수 있다.
- System.out.println()
- 표준 입출력 기능
- 내부적으로 동기화 처리가 되어있다. 즉, 작업 중인 스레드가 있을 때, 다른 스레드는 대기 시간이 발생한다.
- 이로 인해 오버 헤드가 발생 할 수 있다. -> 오버헤드가 쌓여 성능 저하 발생
<실행 예시>
public class Main {
public static void main(String[] args){
for(int i =1;i<=20;i++)
System.out.println(i);
}
}
- StringBuilder
- 출력할 데이터를 모아서 한번에 출력
- 출력 시 system.out.println을 사용하나 사용 횟수를 줄인다.
- String 보다 쉽게 문자열 처리 가능
<실행 예시>
public class Main {
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
for(int i =1;i<=20;i++)
sb.append(i + "\n");
System.out.println(sb);
}
}
'JAVA' 카테고리의 다른 글
JAVA : Comparable & Comparator (+ 백준 11650) (0) | 2021.06.22 |
---|---|
JAVA : BufferedReader & BufferedWriter (0) | 2021.01.14 |
JAVA : String 또는 Char의 int 타입 변환 (0) | 2021.01.13 |
JAVA : Scanner로 문자 입력 (Char 타입) (0) | 2021.01.12 |
JAVA : StringBuilder & Scanner (0) | 2021.01.08 |