본문 바로가기

Algorithm/BAEKJOON

[1000번] A+B

❔문제

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

 

1000번: A+B

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

www.acmicpc.net

 

 

💯 풀이

package io.solution20201026;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.StringTokenizer;

public class Solution1000 {

	public static void main(String[] args) {
		Reader reader = new InputStreamReader(System.in);
		BufferedReader bufferedReader = new BufferedReader(reader);

		try {
			String text = bufferedReader.readLine();
			StringTokenizer tokenizer = new StringTokenizer(text, " ");

			int value = 0;
			while (tokenizer.hasMoreElements())
				value += Integer.valueOf(tokenizer.nextToken());

			System.out.println(value);
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

 

Scanner는 nextInt() 메서드를 통해 공백으로 구분된 int 값을 가져올 수 있지만, BufferReader은 불가능하기 때문에

StringTokenizer를 사용하여 공백 값 기준으로 문자열을 나눕니다.

StringTokenizer tokenizer = new StringTokenizer(text, " ");

 

 

while문을 통해 가져올 수 있는 토큰 값이 있는 경우 value변수 값에 더해 결과 값을 구합니다.

int value = 0;
while (tokenizer.hasMoreElements())
	value += Integer.valueOf(tokenizer.nextToken());

 

 

 

 

매우 쉬운 문제라고 생각했지만...

항상 Scanner를 사용하여 했던 탓인지 공백 값을 기준으로 문자열을 나누는 부분에서 버벅거렸습니다...

앞으로 더욱 BufferReader에 익숙해지도록 노력해야겠습니다 😅

 

'Algorithm > BAEKJOON' 카테고리의 다른 글

[10952번] A+B - 5  (0) 2020.10.26
[10950번] A+B - 3  (0) 2020.10.26
[2558번] A+B - 2  (0) 2020.10.26