728x90
반응형
문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] a = scanner.next().split("");
String[] b = scanner.next().split("");
String[] aa = new String[3];
String[] bb = new String[3];
for (int i = 2, j = 0; i >= 0; i--, j++) {
aa[j] = a[i];
bb[j] = b[i];
}
String ares = String.join("",aa);
String bres = String.join("",bb);
if (Integer.valueOf(ares) > Integer.valueOf(bres)) {
System.out.println(ares);
}else {
System.out.println(bres);
}
}
}
1.
Scanner scanner = new Scanner(System.in);
String[] a = scanner.next().split("");
String[] b = scanner.next().split("");
String[] aa = new String[3];
String[] bb = new String[3];
입력 받은 수를 바로 배열로 받아주고,
숫자를 거꾸로 담아 줄 배열을 미리 생성해둔다.
입력받을 숫자는 3자리라고 하였으니 3자리 배열로 만들어주었다.
2.
for (int i = 2, j = 0; i >= 0; i--, j++) {
aa[j] = a[i];
bb[j] = b[i];
}
String ares = String.join("",aa);
String bres = String.join("",bb);
입력받은 수를 거꾸로 넣어야 하기때문에
aa[0]에 a[2]
aa[1]에 a[1]
aa[2]에 a[0]
의 값을 넣어주도록 하였다.
그리고 string 변수 ares, bres 를 만들어 문자배열을 문자열 바꿔 넣어줬다.
3.
if (Integer.valueOf(ares) > Integer.valueOf(bres)) {
System.out.println(ares);
}else {
System.out.println(bres);
}
문자열을 숫자로 변환하여 서로의 값을 비교한 뒤 큰 값을 출력해주었다.
728x90
반응형
'백준' 카테고리의 다른 글
[JAVA] 백준 2839번 설탕 배달 (0) | 2023.03.16 |
---|---|
[JAVA] 백준 3052번 나머지 (0) | 2023.03.13 |
[JAVA] 백준 2884번 알람 시계 (0) | 2023.03.10 |
[JAVA] 백준 2742번 기찍 N (0) | 2023.03.10 |
[JAVA] 백준 2577번 숫자의 개수 (0) | 2023.03.10 |