Algorithm/Baekjoon

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

unknownomad 2022. 2. 9. 19:28

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

 

1330번: 두 수 비교하기

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

www.acmicpc.net



구현 방법

입력 방식

  • Scanner
  • BufferedReader

 

BufferedReader

1. readLine() 통해 입력받아 연산하는 방법

  • readLine() 은 한 행을 전부 읽으므로 공백 단위로 입력해준 문자열을 공백 단위로 분리해야 함

2. 문자열 분리 방법

  • StringTokenizer 클래스
    st.nextToken() : 문자열을 반환 ➡ Integer.parseInt()로 int 형으로 변환시켜야 함
  • split()
    br.readLine() 을 통해 읽어온 것을 split(" ") 하여 공백 단위로 나눠준 뒤 String 배열에 각각 저장하는 방법

3. 주의점

  • 자료형 타입 잘 확인해야 함

 

조건 필터 방식

  • if 문
  • if 문 + 삼항연산자

풀이

1.1. Scanner + if 문

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();
		
        in.close();
        
        if(A > B) System.out.println(">");
        else if(A < B) System.out.println("<");
        else System.out.println("==");
    }
}

 

1.2. Scanner + if 문 + 삼항연산자

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();
		
        in.close();
        
        //long ver.
        String str = (A > B) ? ">" : ((A < B) ? "<" : "==");
        System.out.println(str);
        
        //short ver.
        System.out.println((A > B) ? ">" : ((A < B) ? "<" : "=="));
    }
}

2.1. BufferedReader + StringTokenizer + 삼항연산자

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));
 
        //long ver.
        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str," ");
        //short ver.
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        
        int A = Integer.parseInt(st.nextToken());
        int B = Integer.parseInt(st.nextToken());
		
        System.out.println((A > B) ? ">" : ((A < B) ? "<" : "=="));
    }
}

2.1. 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) ? ">" : ((A < B) ? "<" : "==" ));
    }
}

성능

  • BufferedReader > Scanner

 


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