STUDY/백준알고리즘

[1330:JAVA] if문 > 두 수 비교하기

bameh 2022. 3. 11. 21:02

문제

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

 

입력

첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.

 

출력

첫째 줄에 다음 세 가지 중 하나를 출력한다.

  • A가 B보다 큰 경우에는 '>'를 출력한다.
  • A가 B보다 작은 경우에는 '<'를 출력한다.
  • A와 B가 같은 경우에는 '=='를 출력한다.

 

 

 

[풀이방법]

1. 입력 방법은 두 가지가 있다.

1) Scanner 이용

Scanner sc = new Scanner(System.in);

 

2) BufferReader 이용

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

예제 입력을 보면 A, B를 입력할 때에는 띄어쓰기를 이용하여 구분하며 각각 입력받도록 한다.

하지만 br.readLine은 한 번에 한 줄을 모두 읽는다.

띄어쓰기를 통해 A와 B를 구분하기 위해서 StringTokenizer를 이용하여 값을 입력받는다.

StringTokenizer st = new StringTokenizer(br.readLine());

int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());

 

2. 조건에 따라 다르게 출력할 수 있는 방법은 두 가지가 있다.

1) if문을 이용

if(A > B) {
    System.out.println(">");
} else if(A < B) {
    System.out.println("<");
} else {
    System.out.println("==");
}

 

2) 삼항 연산자를 이용

((A>B ? ">" : (A<B) ? "<" : "==="))

 

 

 

# 전체 코드

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

public class ch2_1 {
    public static void main(String[] args) throws IOException {
        /*
        // #1. Scanner를 이용한 경우 (17792 KB / 220 ms)
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
        int B = sc.nextInt();
        */

        // #2. BufferedReader 이용한 경우 (14188 KB / 132 ms)

        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());

        // #3. if문 사용
        if( A > B) {
            System.out.println(">");
        } else if( A < B ) {
            System.out.println("<");
        } else {
            System.out.println("==");
        }

        // #4. 삼항 연산자 사용
        System.out.println(((A>B ? ">" : (A<B) ? "<" : "===")));

    }
}