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) ? "<" : "===")));
}
}