728x90
문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
출력
첫째 줄에 상수의 대답을 출력한다.
입출력 예제
예제 | 입력 | 출력 |
1 | 734 893 | 437 |
2 | 221 231 | 132 |
소스코드
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();
sc.close();
//(1의자리*100)+(10의자리*10)+(100의자리)
int aa = (a % 10) * 100 + ((a / 10) % 10) * 10 + (a / 100);
int bb = (b % 10) * 100 + ((b / 10) % 10) * 10 + (a / 100);
if (aa > bb) { // 거꾸로 된 숫자 a가 더 클 경우
System.out.println(aa);
} else { // 거꾸로 된 숫자 b가 더 클 경우
System.out.println(bb);
}
}
}
2. 숫자로 접근 + 배열
import java.util.ArrayList;
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();
sc.close();
int[] arr = {a, b}; // 입력받은 수
ArrayList<Integer> new_num = new ArrayList<Integer>(); // 거꾸로 읽은 수
//(1의자리*100)+(10의자리*10)+(100의자리)
for(int i : arr){
int one = i % 10;
int ten = (i / 10) % 10;
int hundred = i / 100;
new_num.add(one * 100 + ten * 10 + hundred);
}
if (new_num.get(0) > new_num.get(1)) { // 거꾸로 된 숫자 a가 더 클 경우
System.out.println(new_num.get(0));
} else { // 거꾸로 된 숫자 b가 더 클 경우
System.out.println(new_num.get(1));
}
}
}
3. reverse() 메소드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// reverse() : 입력받은 문자열을 뒤집기
// toString() : StringBuilder 타입을 문자열로 반환
// Integer.parseInt() : String 을 int로 변경
int a = Integer.parseInt(new StringBuilder(sc.next()).reverse().toString());
int b = Integer.parseInt(new StringBuilder(sc.next()).reverse().toString());
sc.close();
System.out.println(a > b ? a : b); // A 와 B 중 큰 값 출력
}
}
반응형
'Algorithm > Baekjoon (백준)' 카테고리의 다른 글
[백준][자바] 5622번_다이얼 (0) | 2021.12.12 |
---|---|
[백준][파이썬] 5622번_다이얼 (0) | 2021.12.12 |
[백준][파이썬] 2908번_상수 (0) | 2021.12.06 |
[백준][자바] 1152번_단어의 개수 (0) | 2021.12.01 |
[백준][파이썬] 1152번_단어의 개수 (0) | 2021.12.01 |