티스토리 뷰
10951번: A+B - 4
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
- 문제
KeyPoint
- EOF 란?
이 문제에서 가장 중요한 점이 파일 종료 조건이 없이 그냥 입력이 주어졌다는 것이다.
즉 입력에서 더이상의 읽을 수 있는 데이터가 존재하지 않을 때 반복문을 종료하라는 것이다.
이렇게 데이터가 더이상 존재하지 않을 때 우리는 EOF (End of File) 즉, 파일의 끝이라 한다.
이를 처리하는 방법은 입력의 종류에 따라 여러 방법이 있다. 우리는 그 중 Scanner 와 BufferedReader이 가장 일반적이고 나는 BufferedReader을 활용하여 풀이하려고 한다.
- 풀이
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));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String str;
while((str = br.readLine()) != null) {
st = new StringTokenizer(str," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a + b).append("\n");
}
System.out.println(sb);
}
}
1. StringBuilder는 간단하게 String의 연산을 도와주는 메소드로 String의 연산을 + 연산 처리를 하면 메모리의 할당과 해제를 발생시키며 성능적으로 좋지 않기 때문에 StringBuilder을 사용하는 것이 좋다.
2. BufferedReader는 null 값을 반환하기 때문에 null값을 반환해주기 위해서는 ctrl + D을 사용해야 한다.
- 정리
EOF의 개념 .
Why When / / StringBuilder, BuffereadReader used.
'Baekjoon' 카테고리의 다른 글
백준 4673 셀프 넘버 JAVA (0) | 2022.08.20 |
---|---|
백준 15596 정수 N개의 합 JAVA (0) | 2022.08.20 |
백준 4344번: 평균은 넘겠지 JAVA (2) | 2022.08.20 |
백준 3003번 체스판 (0) | 2022.08.09 |
백준 15552번 빠른 A+B (0) | 2022.07.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크