티스토리 뷰

Baekjoon

백준 10951번 A + B - 4

devel0per 2022. 8. 9. 19:40

 

 

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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크