본문 바로가기

[BOJ] - JAVA

[백준] 10951 : A + B - 4 JAVA 풀이

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

// Scanner.hasNextInt()는 입력된 값이 정수가 아니면 false를 반환함
// 더 이상 정수가 입력되지 않으면 입력을 종료하기 위해서 사용했음
        while(in.hasNextInt()){

// 두 정수를 입력받아 변수에 저장하고 출력 후 줄바꿈
            int A = in.nextInt();
            int B = in.nextInt();
            System.out.println(A+B);
        }
// 스캐너 닫음
        in.close();
    }
}

사실!! Scanner보다 더 빠르게 입력받는 방법이 있음 그것은 바로 BufferedReader…

이제 슬슬 이걸 쓰도록 하겠음

  1. BufferedReader로 입력되는 게 없을 때까지 한 줄씩 String 형으로 입력을 받음
  2. StringTokenizer라는 문자열을 쪼갤 때 쓰는 클래스로 “10 20”형태로 입력된 한 줄을 10과 20으로 쪼갬
  3. 쪼개진 10과 20은 String형이기 때문에 Integer.parseInt로 정수형으로 변환해서 변수에 저장함
  4. 두 변수 A랑 B를 더해서 출력
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){
// BufferdReader 객체 생성
        BufferdReader br = new BufferedReader(new InputStreamReader(System.in));

// 입력받은 한 줄을 저장할 String 객체 생성
        String str;
// String으로 입력된 걸 정수형으로 변환해서 저장하는 데에 쓸 정수형 변수 생성
        int A, B;
        
// BufferedReader에 저장된 값을 str에 저장함
// str에 저장된 값이 없을 때까지 = BufferedReader에 입력된 값이 없을 때까지 반복
        while((str = br.readLine())!=null){

// 문자열 str을 공백을 기준으로 쪼갬
            StringTokenizer st = new StringTokenizer(str, " ");
// 공백을 기준으로 str을 쪼갠 조각을 int로 변환해 A, B에 저장
            A = Integer.parseInt(st.nextToken());
            B = Integer.parseInt(st.nextToken());
// A+B값을 출력하고 자동으로 줄바꿈
            System.out.println(A+B);
        }
    }
}