상냥한 세상 :: [백준]1001번: A-B

본문으로 바로가기

[백준]1001번: A-B

category Computer Science/BAEKJOON JAVA Practice 2021. 12. 22. 15:00

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

 

1001번: A-B

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

www.acmicpc.net

  • 문제

시작에 앞서 직전문제인 1000번: A+B와 매우 유사하니 용어정리도 할겸 이전게시글을 보고오는것도 좋다

https://kindstudent.tistory.com/51

 

[백준]1000번: A+B (용어 정리포함)

https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 재밌는 사칙연산이다. 머리속으로 컴파일(실행)하면 1+2=3인..

kindstudent.tistory.com

원리자체는 비슷하니 자세한 설명은 생략토록 하겠다.

 


  • 코드1
//Scanner을 이용한방법(복습용)
//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();
        
        System.out.println(A-B);
        in.close();
    }
}

  • 결과


  • 코드2
  • /*Buffer:데이터를 한곳에서 다른한곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는
           임시 메모리 영역, 입출력 속도향상을 위해 버퍼사용
    
    InputStream:키보드, 마우스, 네트워크등과 같은 입력장치로부터 입력된 데이터가 
                순서대로 프로그램으로 흘러가는 데이터의 흐름 혹은 소프트웨어 장치
                -입력장치->프로그램으로 들어가는 방향
                -FIFO(First in First out): 먼저 들어온 데이터가 프로그램에 전달됨
    */
    //BufferedReader+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);
            
        }
    }

  • 결과

 


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

  • 결과


  • 코드1,2,3의 속도비교

Scanner 사용
Buffered+Split사용
Buffered+StringTokenizer사용