본문 바로가기

Algorithm/Baekjoon

백준(2908번) 상수

백준(2908번) 상수

 

2908번: 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두

www.acmicpc.net

 

문제

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 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