https://www.acmicpc.net/problem/15552
백준 15552번 빠른 A+B번을 평소처럼 Scanner를 이용해 풀다가 시간초과 오류가 떠서 새로운 문법을 배웠다
바로 아래에 있는 입출력 문법이다.
주석으로 잘 적어놨으니 시간이 오래걸릴 거 같은 문제에는 buffer 입출력을 사용하자!
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException { //입력파일을 찾을 수 없거나
//스트림에서 오류가 발생할 때 예외가 발생 할 수 있음. 컴파일 오류가 발생안하고 던질수 있도록하기위함.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //버퍼 리더 생성
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 버퍼 라이터 생성
int T = Integer.parseInt(br.readLine()); // br.readLine()은 string값이여서 parse로 int형으로 바꿔준다! // 예외처리도 해주어야함!
for(int i =0; i<T; i++){
StringTokenizer st = new StringTokenizer(br.readLine()); // StringTokenizer는 한 줄의 문자열을 토큰(작은 문자열)로 나눔. 기본적으로 공백을 기준으로 나누지만, 다른 구분자를 지정할 수도 있다.
int a = Integer.parseInt(st.nextToken()); // st.nextToken()으로 하나씩 받아오는데 string값이라 parse 해줌
int b = Integer.parseInt(st.nextToken()); // st.nextToken()으로 하나씩 받아오는데 string값이라 parse 해줌
bw.write(a+b+"\n"); // print()는 그때그때 출력하는데 얘는 쌓아뒀다가 .flush() 한번에 출력하기때문에 빠름
}
bw.flush(); // 한번에 출력
bw.close();// 닫아야 한다. 시스템 누수를 막기위해 좋은 습관 들이자
}
}
'Java & Kotlin' 카테고리의 다른 글
| [JAVA] final 키워드 정복하기! (0) | 2025.10.16 |
|---|---|
| [JAVA] 정적 중첩 클래스를 활용하여 계층간 독립적인 Validation을 적용해보자 (0) | 2025.10.16 |
| [JAVA] 정적 팩토리 메서드(Static Factory Method)란? (버거 먹고싶은 작성자와 스프링의 반환 방식을 곁들인) (0) | 2025.10.16 |
| [JAVA] String trim() 메서드 : 문자열의 앞뒤에 있는 모든 공백 문자를 제거해주는 아주 좋은친구 소개 (0) | 2024.11.09 |
| [JAVA] charAt() 메서드(문자열에서 문자 뽑기) (0) | 2024.09.17 |