문제
두 정수 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) ? "<" : "===")));
}
}
'STUDY > 백준알고리즘' 카테고리의 다른 글
[2753:JAVA] if문 > 윤년 (0) | 2022.03.13 |
---|---|
[9498:JAVA] if문 > 시험 성적 (0) | 2022.03.11 |
[2292:JAVA] 기본 수학 1 > 벌집 (0) | 2022.02.24 |
[1712:JAVA] 기본 수학 1 > 손익분기점 (0) | 2022.02.22 |
[1316:JAVA] 함수 > 그룹 단어 체커 (0) | 2022.02.21 |