BAEK_1330(두 수 비교하기)

Max·2022년 8월 17일
0

BAEKJOON

목록 보기
1/21

백준 1330 두 수 비교하기



- 문제

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


- 입력

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

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


- 풀이


  • 방법 1
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        
        int A = sc.nextInt();
        int B = sc.nextInt();
        
        if( A > B ) {
        	System.out.println(">");
        } else if ( A < B ) {
        	System.out.println("<");
        } else {
        	System.out.println("==");
        }
    }
 }

이와 같이 자주 쓰는 Scanner을 통해 int A와 B 값을 입력 받고
if조건문을 통해 두 값을 비교해 true인 경우에 해당 문자열을 출력하는 방식이다.


  • 방법 2
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));
        
        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");
        int A = Integer.parseInt(st.nextToken());
        int B = Integer.parseInt(st.nextToken());
        
        if( A > B ) {
        	System.out.println(">");
        } else if ( A < B ) {
        	System.out.println("<");
        } else {
        	System.out.println("==");
        }
   }
}

BufferedReader를 사용한 방식이다.
readLine()을 통해 입력을 받아 입력 값을 비교하는 것이다.
이 방식에서 readLine()을 통해 읽어온 값을 StringTokenizer 클래스를 이용해 공백 단위로 문자열을 분리를 하고 두 값을 비교를 한다.

그리고 st.nextToken()은 문자열을 반환하기 때문에 Integer.parseInt()로 문자열을 int형으로 변환시켜줘야한다.


+ 삼항연산자


삼항연산자를 통해 긴 조건문을 한 줄로 정리할 수가 있다.

기본 문법은 아래와 같다.

변수 = (조건문) ? (true 일 때의 연산) : (false 일 때의 연산)


  • 풀이
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        
        int A = sc.nextInt();
        int B = sc.nextInt();
        
        System.out.println((A > B) ? ">" : (( A < B) ? "<" : "=="));

이와 같이 A > B가 true 일 때 ">" 를 출력하고
false 일 경우 삼항연산자를 한 번 더 중첩을 해서 A < B 조건을 비교해 true/false 일 때의 연산을 해주면 된다.






ref : https://st-lab.tistory.com/21

profile
co_der

0개의 댓글