BAEK_10951(A+B - 4)

Max·2022년 9월 13일
0

BAEKJOON

목록 보기
17/21

백준 10951 A+B - 4


- 문제

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


- 입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)



- 풀이


  • 방법 1
import java.util.Scanner;

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);
        }
   }
}       	

기본 Scanner을 이용한 방식이다.
hasNextInt()을 통해 정수가 입력 시 true를 반환하고 그렇지 않은 경우 false를 반환한다.


  • 방법 2
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;
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        while((str = br.readLine()) != null) {
        	
            st = new StringTokenizer(br.nextLine(), " ");
            int A = Integer.parseInt(st.nextToken());
            int B = Integer.parseInt(st.nextToken());
            sb.append(A+B).append("\n");
        }
        System.out.println(sb);
     }
  }    

BufferedReader를 이용한 방식이다.
str = br.readLine() != null 값이 있을 때 while문이 실행시킨다.


  • 방법 3
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));
        
        Stringbuilder br = new StringBuilder();
        String str;
        
        while ( (str = br.readLine()) != null) {
        	int A = str.charAt(0) - 48;
            int B = str.charAt(2) - 48;
        	sb.appen(A+B).append("\n");
        }
        System.out.println(sb);
    }
 }

문제를 보면 0 < A,B < 10 라고 나와 있다.
한자릿수 정수만 입력하면 되니 때문에 객체생성을 안하고 더욱 쉽고 빠른 charAt() 방식을 사용할 수 있다.

charAt() 은 해당 문자의 아스키코드 값을 반환하기 때문에 우리가 알고 있는 정수 형태로 반환해줘야 한다.

str.charAt(0) - 48; 처럼 -48 또는 -0을 해줘야 한다.

profile
co_der

0개의 댓글