본문 바로가기
공부/알고리즘 공부

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

by 고구밍 2022. 6. 16.

https://www.acmicpc.net/problem/1000

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 readLine() 과 read() 

더보기

BufferedReader 의 경우 문자열을 받는 대표적인 방법은 readLine() 과 read() 이다.

둘의 차이는 readLine() 은 한 행을 읽어오고, read() 는 한 문자만 읽어온다.

 

그래서 특별한 경우가 없는 한 대부분 readLine() 을 쓴다.

 

 

 

BufferedReader 을 쓸 때는 readLine() 으로 쓰게 된다.

 

readLine() 을 통해 입력 받아 연산하는 방법 두 가지를 설명할 것이다.

앞서 말했듯이 readLine() 은 한 행을 전부 읽기 때문에 공백단위로 입력해 준 문자열을 공백단위로 분리해주어야 문제를 풀 수 있을 것이다.

 

문자열 분리 방법에는 두 가지가 있다.

  1. StringTokenizer 클래스를 이용하여 분리해주는 방법
  2. split() 을 이용하는 방법

StringTokenizer 가 성능면에서 좋다.

그래서 단순 규칙으로 문자열을 분리해줄 때  StringTokenizer을 이용한다.

 

StringTokenizer 또한 java.util 패키지에 있으므로 import 해준 다음 객체 생성을 해준다.

 

객체 생성 할 때 StringTokenizer( "문자열" , 구분자 ); 을 해주면 된다.

구분된 변수를 꺼낼 때는 차례대로 nextToken(); 을 해주면 문자열을 반환해준다.

이때 반환시킨 문자열은 반환됨과 동시에 해당 객체에서 사라지게 된다.

 

그리고 문자열을 반환했으니 Integer.parseInt()로 int 형으로 변환시켜준다.

 

참고 블로그)

https://st-lab.tistory.com/12

 

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

https://www.acmicpc.net/problem/1000 1000번: A+B 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력..

st-lab.tistory.com

 

BufferedReader

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));
 
 		String str = br.readLine();
		StringTokenizer st = new StringTokenizer(str," ");
		int a = Integer.parseInt(st.nextToken());
		int b = Integer.parseInt(st.nextToken());
		
		System.out.println(a+b);
        }
}

 

 

Split

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
		     
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String[] str = br.readLine().split(" ");
		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);
		
		System.out.println(a+b);
 
	}
 
}