
✅ 문제
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
두 정수를 비교하여 >, <, == 부호 출력하기
조건문을 이해하기 위한 문제
📥 입력
첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.
📥 출력
첫째 줄에 다음 세 가지 중 하나를 출력한다.
● A가 B보다 큰 경우에는 '>'를 출력한다.
● A가 B보다 작은 경우에는 '<'를 출력한다.
● A와 B가 같은 경우에는 '=='를 출력한다.
[제한]
-10,000 ≤ A, B ≤ 10,000
💡 풀이
Switch-case문과 if문을 사용하여 문제를 해결하였다.
각 조건에 따라 어떤 부호(<,>,==)를 출력할 지 각 조건 블록 안에 입력해 주었다.
조건1. A가 B보다 큰 경우
조건2. A가 B보다 작은 경우
조건3. A와 B가 같은 경우 (=조건1도, 조건2도 아닌 경우)
✅ 1. Switch-case문을 이용한 풀이
문제를 보고 switch-case문이 가장 먼저 떠올랐는데 코드를 작성하다 보니 막히는 부분이 있어서 검색을 해서 풀었다. 그동안 내가 풀었던 문제들은 switch () 소괄호 안의 조건식이 case의 값과 정확히 일치하는지만 판별하는 것이었는데 이 문제에서는 조건식 a-b가 0보다 큰지, 작은지 비교를 해야 해서 소괄호 안에 뭐라고 적어야 할지 감이 안 잡혔다. 그래서 검색해서 알아낸 새로운 메서드가 바로 Integer.compare()이다.
✔️ Integer.compare(n1,n2) 메서드
이 메서드는 두 개의 정수 값을 비교할 때 사용된다.
이 메서드는 정수인 매개변수 2개를 받는다.
1.첫 번째 매개변수가 두 번째 매개변수보다 작으면 음수를 반환
2.두 매개변수가 같으면 0을 반환
3.첫 번째 매개변수가 두 번째 매개변수보다 크면 양수를 반환
swtich-case문에서는 각 case문 끝에 반드시 break를 걸어주는 것을 잊지 말자.
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();
int result = a-b;
switch (Integer.compare(result, 0)) {
case 1:
System.out.println(">");
break;
case -1:
System.out.println("<");
break;
default:
System.out.println("==");
}
}
}
✅ 2. if - else if 문을 이용한 풀이
Scanner 객체를 통해 입력 받은 정수 두 개를 변수 A,B에 담아 준다. if문을 사용해 3가지 조건(A>B , A<B, 그 이외의 경우 일때 = 같을 때)을 입력하고 그에 맞는 부호를 출력한다.
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.print(">");
} else if (A < B) {
System.out.print("<");
} else {
System.out.print("==");
}
}
}
'BaekJoon' 카테고리의 다른 글
[백준] 2753번 윤년 - 자바 / java (0) | 2024.04.04 |
---|---|
[백준] 9498번 시험성적 - 자바 / java (0) | 2024.04.04 |
[백준] 10172번 개 - 자바/java (0) | 2024.04.02 |
[백준] 10171번 고양이 - 자바/java (0) | 2024.04.02 |
[백준] 11719번 그대로 출력하기2 - 자바/java (0) | 2024.03.28 |

✅ 문제
두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
두 정수를 비교하여 >, <, == 부호 출력하기
조건문을 이해하기 위한 문제
📥 입력
첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.
📥 출력
첫째 줄에 다음 세 가지 중 하나를 출력한다.
● A가 B보다 큰 경우에는 '>'를 출력한다.
● A가 B보다 작은 경우에는 '<'를 출력한다.
● A와 B가 같은 경우에는 '=='를 출력한다.
[제한]
-10,000 ≤ A, B ≤ 10,000
💡 풀이
Switch-case문과 if문을 사용하여 문제를 해결하였다.
각 조건에 따라 어떤 부호(<,>,==)를 출력할 지 각 조건 블록 안에 입력해 주었다.
조건1. A가 B보다 큰 경우
조건2. A가 B보다 작은 경우
조건3. A와 B가 같은 경우 (=조건1도, 조건2도 아닌 경우)
✅ 1. Switch-case문을 이용한 풀이
문제를 보고 switch-case문이 가장 먼저 떠올랐는데 코드를 작성하다 보니 막히는 부분이 있어서 검색을 해서 풀었다. 그동안 내가 풀었던 문제들은 switch () 소괄호 안의 조건식이 case의 값과 정확히 일치하는지만 판별하는 것이었는데 이 문제에서는 조건식 a-b가 0보다 큰지, 작은지 비교를 해야 해서 소괄호 안에 뭐라고 적어야 할지 감이 안 잡혔다. 그래서 검색해서 알아낸 새로운 메서드가 바로 Integer.compare()이다.
✔️ Integer.compare(n1,n2) 메서드
이 메서드는 두 개의 정수 값을 비교할 때 사용된다.
이 메서드는 정수인 매개변수 2개를 받는다.
1.첫 번째 매개변수가 두 번째 매개변수보다 작으면 음수를 반환
2.두 매개변수가 같으면 0을 반환
3.첫 번째 매개변수가 두 번째 매개변수보다 크면 양수를 반환
swtich-case문에서는 각 case문 끝에 반드시 break를 걸어주는 것을 잊지 말자.
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();
int result = a-b;
switch (Integer.compare(result, 0)) {
case 1:
System.out.println(">");
break;
case -1:
System.out.println("<");
break;
default:
System.out.println("==");
}
}
}
✅ 2. if - else if 문을 이용한 풀이
Scanner 객체를 통해 입력 받은 정수 두 개를 변수 A,B에 담아 준다. if문을 사용해 3가지 조건(A>B , A<B, 그 이외의 경우 일때 = 같을 때)을 입력하고 그에 맞는 부호를 출력한다.
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.print(">");
} else if (A < B) {
System.out.print("<");
} else {
System.out.print("==");
}
}
}
'BaekJoon' 카테고리의 다른 글
[백준] 2753번 윤년 - 자바 / java (0) | 2024.04.04 |
---|---|
[백준] 9498번 시험성적 - 자바 / java (0) | 2024.04.04 |
[백준] 10172번 개 - 자바/java (0) | 2024.04.02 |
[백준] 10171번 고양이 - 자바/java (0) | 2024.04.02 |
[백준] 11719번 그대로 출력하기2 - 자바/java (0) | 2024.03.28 |