Algorithm

[Java] 백준 1330번 두 수 비교하기

로춘남 2021. 10. 22. 17:16
728x90


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

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

백준 자바 1330번 문제. 두 수를 비교한 후 원하는 부등호를 출력하는 문제이다. 어떠한 방법으로 풀지 고민해봤는데,

일반적인 Scanner 방법으로 풀 수 있다. 하지만 Scanner는 알고리즘상에서 그다지 빠른 속도가 아니기때문에 BufferedReader을 이용해보기로 했다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");
        int A = Integer.parseInt((st.nextToken()));
        int B = Integer.parseInt(st.nextToken());

        System.out.println((A>B) ? ">" : ((A<B) ? "<" : "=="));

    }
}

BufferedReader를 통해 값을 입력 할 수 있게 셋팅. 그런데 문제에서 필요한것은 입력하는 A와 B가 공백 한칸으로 구분되어 있다는것. 공백을 나뉘주기 위해서 방법을 찾다보니 StringTokenizer와 split를 이용하는 방법이 있었다.

split야 워낙 익숙하기 StringTokenizer를 이용하여 코드를 구성해보았다.

 

String str = br.readLinst();으로 입력할 값을 선언하고, StringTokenizer를 선언하여 공백으로 나눌 수 있게, " " 처리를 하였다. 그리고 코드를 한줄이라도 더 줄이기 위해 삼항연사자를 적용.

워낙 If가 익숙하다보니 나도 If를 쓰려고 했지만, 알고리즘의 효율과 다양한 방법을 숙달하기 위해서 평소 사용해보지 않은것들을 좀 사용해봐야겠다.

 

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

public class BJ1330 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();

        String[] str = br.readLine().split(" ");
        int A = Integer.parseInt(str[0]);
        int B = Integer.parseInt(str[1]);

        System.out.println((A>B) ? ">" : ((A<B) ? "<" : "=="));

    }
}

split를 이용한 방법도 한 번 작성해보았음. 익숙해질때까지 부단한 노력이 좀 필요할 것 같다.

728x90

'Algorithm' 카테고리의 다른 글

[Java] 백준 1550번 16진수  (0) 2021.10.27
[Java] 백준 1271번 엄청난 부자2  (0) 2021.10.25
[백준] 1000번: A+B  (0) 2021.10.02
[Java] 백준 10172번: 개  (0) 2021.10.01
[Java] 백준 10171번: 고양이  (0) 2021.09.29