본문 바로가기

알고리즘/백준

[백준] 10951 - A + B(4)

반응형

10951번 문제

여태까지는 개수 제한을 초반에 걸고 시작하거나 특정 조건이 되면 끝나도록 설정했었는데 이번엔 그런 조건이 없는 방식의 문제다. 그래서 어떻게 해야하는건지 몰라서 검색해보니 EOF라는 것이라고 한다.

 

EOF


End Of File를 말하는 것으로, 더 이상 읽을 수 있는 데이터가 존재하지 않는 것을 뜻한다.

 

Scanner 클래스를 이용할 때에는 hasNext()라는 함수를 이용하면 된다. 

 

BufferedReader를 이용할 때에는 따로 함수가 없으므로 null 값인지 아닌지 비교하는 방식으로 처리해야한다.

 

 

1. BufferedReader를 이용한 방법

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
        
        String input = "";

        while((input = br.readLine()) != null){

            StringTokenizer st = new StringTokenizer(input, " ");

            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());

            bw.write(a + b + "\n");

        }
        br.close();
        bw.flush();
        bw.close();
    }
}

 

2. Scanner 클래스를 이용한 방법

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        while(sc.hasNextInt()){
            int a = sc.nextInt();
            int b = sc.nextInt();

            System.out.println(a + b);
        }
        sc.close();
    }
}

Scanner 클래스에서 hasNextInt()를 이용해서 정수를 불러올 수 있다고 한다. 그래서 hasNextInt()를 사용해서 넘겨주었다.

 

 

 

참고 자료 : https://steady-coding.tistory.com/227

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 10871 - X보다 작은 수  (0) 2024.02.12
[백준] 10807 - 개수 세기  (0) 2024.02.11
[백준] 10952 - A + B (5)  (0) 2024.02.09
[백준] 2439 - 별 찍기(2)  (0) 2024.02.08
[백준] 2438 - 별 찍기(1)  (0) 2024.02.07