코딩테스트/백준

백준 -2098.상수

hwangsehee 2025. 1. 21. 17:58

문제 설명

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

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.

두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.

출력

첫째 줄에 상수의 대답을 출력한다.

 

import java.io.*;

public class Main {
    
    public static void main(String []args)throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String [] InputArr = br.readLine().split(" ");
        String [] arr  = new String [2];
        for(int i = 0; i<2; i++){
            StringBuilder sb = new StringBuilder();
            for(int j =InputArr[i].length()-1;j>=0;j--){
                char c = InputArr[i].charAt(j);
                sb.append(c);
            }
            arr [i] = sb.toString();
        }

        System.out.print(Math.max(Integer.parseInt(arr[0]),Integer.parseInt(arr[1])));
    }
    
}

리팩토링 

public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String[] InputArr = br.readLine().split(" ");
    String[] arr = new String[2];

    for (int i = 0; i < 2; i++) {
        arr[i] = new StringBuilder(InputArr[i]).reverse().toString();
    }

    System.out.print(Math.max(Integer.parseInt(arr[0]),Integer.parseInt(arr[1])));
}

 

간단하게 .reverse()로 역순으로 뒤집기  .. 

'코딩테스트 > 백준' 카테고리의 다른 글

백준 - 11718.그대로 출력하기  (1) 2025.01.21
백준 - 5622. 다이얼  (0) 2025.01.21
백준 - 10809.알파벳 찾기  (0) 2025.01.19
백준 - 11654.아스키코드  (0) 2025.01.19
백준 - 10811.바구니 뒤집기  (1) 2025.01.18