본문 바로가기
알고리즘/개념정리

Java 시간초과 날 때

by 새싹감자 2022. 8. 3.

Scanner 를 쓰면 시간 초과가 날 때가 많다. 시간을 조금이라도 줄이기 위해 사용하는 몇가지가 있다.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

StringTokenizer st = new StringTokenizer(br.readLine());

을 사용해서 문자열을 받고, int 입력이 필요할때에는

Integer.parseInt(st.nextToken())을 사용한다.

문자열을 출력할때에는 

StringBuilder sb = new StringBuilder();

sb.append()를 사용한다.

예시는 아래와 같다.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int N = Integer.parseInt(st.nextToken());
		int M = Integer.parseInt(st.nextToken());
	StringBuilder sb = new StringBuilder();
		for(int i=0; i<M; i++) {
			st = new StringTokenizer(br.readLine());
			int x1 = Integer.parseInt(st.nextToken());
			int y1 = Integer.parseInt(st.nextToken());
			int x2 = Integer.parseInt(st.nextToken());
			int y2 = Integer.parseInt(st.nextToken());
			int sum=0;

				for(int k=x1; k<=x2; k++) {
					sum=sum+num[k][y2]-num[k][y1-1];
				}
				sb.append(sum+"\n");
			
		}

for(int i=0, size = counts.length; i<size; i++) {
System.out.println(counts[i]+" ");
}

'알고리즘 > 개념정리' 카테고리의 다른 글

서로소 집합 만들기  (1) 2022.09.20
순열, 조합  (0) 2022.09.12
자바 정렬하기  (0) 2022.09.12
BFS,DFS  (0) 2022.08.11
객체 배열  (0) 2022.08.09

댓글