🟤 백준 2739번: 구구단 (브론즈5)
문제 풀이
1차 풀이
import java.util.*;
import java.lang.*;
import java.io.*;
/*
- 문제 풀이: 250325(화)
- 2739번: 구구단 (브론즈5), https://www.acmicpc.net/problem/2739
- 실행 시간: 104ms
*/
public class Main
{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
for (int i = 1; i<=9; i++) {
int r = n * i;
sb.append(n).append(" * ").append(i).append(" = ").append(r);
System.out.println(sb);
// StringBuilder 초기화 (StringBuilder 재생성하지 않고 초기화)
sb.setLength(0);
}
}
}
StringBuilder 초기화
`sb.setLength(0);`
→ 단지 길이를 0으로 만들면 되기 때문에 비교적 시간이 적게 듦!
다른 방법들...
- `new StringBuilder()` 또 사용해서 초기화
→ 객체를 또 생성하므로 그만큼 시간 소모 - `sb.delete()`
→ 지운다는 작업 때문에 시간 소모
참고 자료
https://zero-iron.tistory.com/68
StringBuilder를 초기화하는 가장 빠른 방법
알고리즘 문제를 풀다 보면 요구되는 형식에 맞게 String을 생성해야 할 때가 있는데 StringBuilder를 사용해서 다른 문자가 요구될때 어떻게 초기화하면 좋을지 고민하곤 한다 결론적으로는 StringBuil
zero-iron.tistory.com
'Coding Test > PS' 카테고리의 다른 글
[백준/Java] 15552번: 빠른 A+B (브론즈4) (0) | 2025.03.27 |
---|---|
[백준/Java] 3052번: 나머지 (브론즈2) (0) | 2025.03.25 |
[백준/Java] 1008번: A/B (브론즈5) (0) | 2025.03.24 |
[백준/Java] 10871번: X보다 작은 수 (브론즈5) (1) | 2025.03.23 |
[백준/Java] 10807번: 개수 세기 (브론즈5) (0) | 2025.03.23 |