문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
출력
첫째 줄에 상수의 대답을 출력한다.
입출력 예제
설명
- 간단하다... 입력받은 숫자를 %연산자와 /로 각각 자리를 얻은뒤 *100, *10을 하고 각 자리수를 더해주고 바뀐 두 수를 비교해서 큰 수를 출력하면 된다.
숫자 뒤집기 예제
입력받은 수 257
1의 자리 : 257 % 10 > 결과 7 > 7 * 100
10의 자리 : 257 / 10 % 10 > 결과 5 > 5 * 10
100의 자리 : 257 / 100 > 결과 2 > 2
이렇게 위에서 구한 세 숫자를 모두 하면 된다.
(7*100) + (5*10) + 2 = 752
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Level07_07 {
// 2908번 - 상수
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int firstNum = reverse(Integer.valueOf(st.nextToken()));
int secondNum = reverse(Integer.valueOf(st.nextToken()));
System.out.println(firstNum > secondNum ? firstNum : secondNum);
}
public static int reverse(int number) {
return ((number%10)*100) + ((number/10%10)*10) + (number/100);
}
}
|
cs |
'Algorithm > Baekjoon' 카테고리의 다른 글
백준(2941번) - 크로아티아 알파벳 (0) | 2021.07.27 |
---|---|
백준(5622번) - 다이얼 (0) | 2021.07.25 |
백준(1152번) 단어의 개수 (0) | 2021.07.25 |
백준(1157번) - 단어 공부 (0) | 2021.07.22 |
백준(2675번) - 문자열 반복 (0) | 2021.07.22 |