본문 바로가기
Algorithm/Baekjoon

[백준] 10952번 : A + B - 5 - Java

by unknownomad 2022. 2. 23.

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

 

10952번: A+B - 5

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

www.acmicpc.net



참고 유형

https://unknownomad.tistory.com/99

 

[백준] 11021번 : A + B - 7 - Java

https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 구현 방법 입력 Scanner B..

unknownomad.tistory.com


주의점

  • 두 정수 : 공백으로 구분되어 입력됨
  • 테스트 종료 기준 : 두 개의 0을 입력받을 때

구현 방법

1. Scanner + System.out.println()

2. BufferedReader + StringTokenizer + StringBuilder

  • 자료형 타입 주의
  • st.nextToken(): 문자열 반환하기에, Integer.parseInt()로 int형으로 변환시켜야 함

3. BufferedReader + String.charAt() + StringBuilder

  • 입력 숫자 범위 : 한 자리 수
    공백 위치가 고정됨 ➡ String.charAt() 활용하여 성능 높이기
    해당 문자의 아스키코드 값 반환 ➡ 정수 형태로 변경 위해 - 48 또는 - '0' 추가해야 함

풀이

1. Scanner + System.out.println()

import java.util.Scanner;
 
public class Main {
    public static void main(String args[]){
		
        Scanner in = new Scanner(System.in);
				
        while(true){
            int A = in.nextInt();
            int B = in.nextInt();
		
            if(A == 0 && B == 0) {
                in.close();
                break;
            }
            System.out.println(A + B);
        }
    }
}

2. BufferedReader + StringTokenizer + StringBuilder

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));
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
		
        while(true) {	
            st = new StringTokenizer(br.readLine(), " ");
            int A = Integer.parseInt(st.nextToken());
            int B = Integer.parseInt(st.nextToken());
			
            if(A == 0 && B == 0) {
                break;
            }
            sb.append((A + B)).append("\n");
        }
        System.out.println(sb);
    }
}

 

3. BufferedReader + String.charAt() + StringBuilder

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 sb = new StringBuilder();
		
        while(true) {
            String str = br.readLine();
            int A = str.charAt(0) - 48;
            int B = str.charAt(2) - 48;
            
            if(A == 0 && B == 0) {
                break;
            }
            sb.append((A + B)).append("\n");
        }
        System.out.println(sb);
    }
}

성능

  1. BufferedReader + String.charAt() + StringBuilder
  2. BufferedReader + StringTokenizer + StringBuilder
  3. Scanner + System.out.println()

 


출처 : https://st-lab.tistory.com/39

댓글