알고리즘/백준

[백준] 10951 - A + B-4

leegeonwoo 2023. 10. 20. 23:54

• 문제

이미지를 클릭하면 해당문제 링크로 넘어갑니다

A+B의 결과를 출력하는 문제이다.

 

이 문제에서 중요한 점은 입력값을 얼마나 받을지 명시되어있지 않다는 점이다.

EOF라는 개념이 들어간다


• 풀이

 

먼저 EOF란 End of File의 약자로 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없다는 것을 의미하는 용어이다.

즉, 코드가 없으면 더 이상 입력할 데이터가 없다는 것을 의미한다.

이정도로만 알아놓고 문제를 풀어보자

 

Scanner와 BufferdReader 두 가지 방법 모두 풀어보도록하겠다.

 

Scanner

Scanner로 이 문제를 풀기전에 Scanner의 메서드인 hasNext()에 대해서 먼저 알아야한다.

hasNext()는 입력이 있으면 true를 반환하고 더 이상 읽을게 없으면 false를 반환한다.

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class Main {
	public static void main(String[] args)throws IOException{
		Scanner sc = new Scanner(System.in);
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		while(sc.hasNext()) {
			int A = sc.nextInt();
			int B = sc.nextInt();
			System.out.println(A+B);
		}		
        bw.flush();
        bw.close();
	}
}

 

BufferedWriter

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
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.print(sb);
	}
}

마무리

728x90