알고리즘 저장소
Java-Algorithm 입출력 성능최적화, 괜찮은 기능 메모
Diger
2022. 8. 27. 00:34
728x90
BufferedReader - 1
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String inputValue = br.readeLine();
한 줄에 해당하는 문자열 입력받을 수 있다.
BufferedReader 사용하는 메서드에 throws IOException 추가.
BufferedReader - 2
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String [] inputValue = br.readeLine().split(" ");
한 줄에 해당하는 문자열 공백을 기준으로 입력받을 수 있다.
BufferedReader 사용하는 메서드에 throws IOException 추가.
BufferedReader - 3
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String [] inputValue = br.readeLine().split(" ");
int n = Integer.parseInt(inputValue[0]);
int m = Integer.parseInt(inputValue[1]);
int x = Integer.parseInt(inputValue[2]);
int y = Integer.parseInt(inputValue[3]);
...
한 줄에 해당하는 문자열을 공백을 기준으로 분할하고, 정수형으로 반환하는 방법
StringTokenizer
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String inputValue = br.readeLine();
StringTokenizer st = new StringTokenizer(inputValue, " ");
while(st.hasMoreTokens())
System.out.println(st.nextToken());
특정 기준으로 문자열 자르고 사용할 수 있다. (공백)
StringTokenizer 를 활용하여 문자열을 자르면, 해당 StringTokenizer 타입의 변수에 기준으로 잘린 내용을 토큰으로 가지고 있다.
즉, nextToken() 을 활용하여 각 잘린 값에 대하여 접근하여 활용할 수 있게 된다.
StringBuiler 활용하여 반복문 출력 최적화
StringBuilder 활용
StringBuilder sb = new StringBuilder();
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
sb.append("*");
}
sb.append("\n");
}
System.out.print(sb);
기존 반복출력문
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print("*");
}
System.out.println();
}
문자열 반복
String star = "*".repeat(100);
위와 같이 문자열.repeat() 메서드를 활용해보자.
반복문 향상
일반적인 반복문
for (int i = 0; i < array.length; i ++)
위와 같은 코드는 array.length 를 반복할 때마다 호출하는 꼴이 된다.
따라서 아래와 같이 수정하여 사용해보자
향상된 반복문
int arrayLength = array.length;
for (int i = 0; i < arrayLength; i ++)
728x90