본문 바로가기

알고리즘/백준

[백준] 1330 - 두 수 비교하기

반응형

백준을 단계별로 풀고 있는데 드디어 1단계인 입출력과 사칙연산을 모두 풀어서 이제 2단계인 조건문으로 들어왔다!

 

저번에 BufferedReader로 푸는 법을 해봤기 때문에 이제 Scanner로 푸는 방법과 BufferedReader로 푸는 법 2가지를 써서 풀어보려고 한다. 기본적으로 푸는 법은 같기 때문에 어렵지 않을 것 같다.

 

1. Scanner 클래스로 푸는 법

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int a, b;

        a = sc.nextInt();
        b = sc.nextInt();

        if(a > b){
            System.out.println(">");
        }
        else if(a < b){
            System.out.println("<");
        }else{
            System.out.println("==");
        }
    sc.close();
    }
}

Scanner 클래스를 통해 숫자를 받아오고, if문으로 조건 체크를 해주면 된다.

 

2.  BufferedReader로 푸는 방법

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        //한 줄에 공백 차이로 받으면 에러가 난다.
        String[] num = br.readLine().split(" ");
        int a = Integer.parseInt(num[0]);
        int b = Integer.parseInt(num[1]);
        

        if(a > b){
            System.out.println(">");
        }
        else if(a < b){
            System.out.println("<");
        }else{
            System.out.println("==");
        }
    }
}

처음에 a와 b 각각 받아왔는데 그렇게 되면 한 줄에 입력할 때 공백으로 인해 NumberFormatException 오류가 나게 된다. 그래서 배열로 받아와서 공백 단위로 split을 해준다음에 a와 b에 하나씩 넣어주어서 해결했다.

 

맨 위가 BufferedReader인데 확실히 Scanner에 비해 빠르다... 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2753 - 윤년  (0) 2024.01.25
[백준] 9498 - 시험 성적  (0) 2024.01.24
[백준] 10172 - 개  (0) 2024.01.22
[백준] 10171 - 고양이  (0) 2024.01.21
[백준] 11382 - 꼬마 정민  (0) 2024.01.20