Super Kawaii Cute Cat Kaoani
본문 바로가기
✍️ Algortihm/Java

[백준] 1000번 : A+B - JAVA

by wonee1 2024. 6. 8.
728x90

 

 

 

 

 

   

✍️풀이방식

   

1. scanner 사용해서 푸는 방법

2. BufferedReader 사용해서 푸는 방법   

 

이때까지 입출력을 받을 땐  1번 방법인 Scanner 방식을 많이 사용했었는데 코테에선 빠르게 입력 받는 것이 중요하기 때문에 보통 BufferedReader 방식을 사용해봤다 

 

 

 

BufferedReader

  • 버퍼는 스트림과 프로그램 간에 데이터를 효율적으로 전송하려고 사용하는 메모리
  • 입출력 장치와 프로그램 간 동작 속도가 크게 차이가 날 때 버퍼를 사용하면 매우 효율적
  • readLine은 BufferedReader 클래스에서 제공하는 메서드로, 입력 스트림으로부터 한 줄의 텍스트를 읽어오는 기능을 한다  ( readLine() 은 한 행을 읽어오고, read() 는 한 문자만 읽어온다)
 import java.io.*;
 import java.util.*;
  
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 String input = br.readline(); // 문자열 입력 받기 
 String[] input = br.readline().split(" "); // 공백으로 구분된 문자 입력받기 
  //문자열로 받고 split메소드를 이용해서 공백을 기준으로 잘라서 활용.
  
 StringTokenizer st = new StringTokenizer(br.readLine()); // split보다 빠른 방식 
 String A = st.nextToken();

 

 

💡 BufferedReader의 readLine() 메서드는 IOException을 발생시킬 수 있기 때문에, 이를 처리하기 위해 예외 처리를 추가해야한다 

 

예외 처리는 try-catch 블록을 사용하여 처리하거나 메서드 시그니처에 throws IOException을 추가하여 예외를 선언할 수 있다 

 

 

 

StringTokenizer 사용법 

 

  • 객체 생성 할 때 StringTokenizer( "문자열" , 구분자 ); 을 해주면 된다
  • 구분된 변수를 꺼낼 때는 차례대로 nextToken(); 을 해주면 문자열을 반환해준다
  • 이때 반환시킨 문자열은 반환됨과 동시에 해당 객체에서 사라지게 된다

 


 

🖥️문제풀이

 

 

1번  Scanner 사용

import java.util.Scanner;

public class Main
{
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		
		int a=in.nextInt();
		int b=in.nextInt();
		
		int res= a+b;
		
		
		
		System.out.println(res);
	}
}

 

 

 

 

2번 BufferedReader 사용

 

 

 

 

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        StringTokenizer st = new StringTokenizer(input, " ");
        
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        
        System.out.println(a + b);
    }
}

 

 

 

 

☑️실행결과 

 

 

BufferedReader를 사용한 방식이 코드가 길어도 실행시간이 빠른 걸 확인 할 수 있었다

 

 

728x90