Scanner는 성능이 떨어지기 때문에 입력이 많은 경우 문제가 생깁니다.
BufferedReader와 StringTokenizer를 이용해 입력받는 것을 습관화 시키는게 좋습니다.
1. 정수 입력 하나 받는 경우#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
StringTokenizer st = new StringTokenizer(br.readLine());
int n1 = Integer.parseInt(st.nextToken());
// To do //
}
}
|
2. 한 줄에 임의 개의 입력을 받는 경우#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
StringTokenizer st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()) {
int temp = Integer.parseInt(st.nextToken());
// To do //
}
}
}
|
3. 첫줄에 테스트 횟수, 이후에 N번 입력을 받는 경우 (1번과 2번을 조합하면 됨)#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
StringTokenizer st = new StringTokenizer(br.readLine());
int n1 = Integer.parseInt(st.nextToken());
int temp = 0;
for(int i=0;i<n1;i++) {
st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()) {
temp = Integer.parseInt(st.nextToken());
// To do //
}
}
}
}
|