[Baekjoon] 2908번 문제풀이

2020. 8. 5. 16:05Computer Sciences/Problem Solve

입력받은 문자열을 뒤집은 뒤 두 문자열을 정수로 변환하고 비교하여 출력하면 해결되는 문제입니다.

StringBuffer 객체를 사용하여 문자열을 뒤집었습니다. Java에서 String 객체는 내부 문자열을 수정할 수 없지만, StringBuffer 객체는 문자열을 저장하는 가변 버퍼를 가지고 있기 때문에 저장된 문자열의 수정이 가능합니다.

StringBuffer의 reverse 메소드를 사용하면 문자열을 뒤집을 수 있습니다. 그리고 객체를 문자열로 변환하기 위해 toString() 메소드를 사용합니다. 아래 reverseString 메소드가 그 결과입니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Baekjoon2908 {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = null;

        try {
            str = br.readLine();
        } catch (IOException e) {
            System.out.println("입출력 오류 발생");
        }

        str = reverseString(str);
        String[] arr = str.split(" ");
        int[] intArr = new int[2];
        for (int i = 0; i < arr.length; i++) {
            intArr[i] = Integer.parseInt(arr[i]);
        }

        if (intArr[0] > intArr[1]) {
            System.out.println(intArr[0]);
        } else {
            System.out.println(intArr[1]);
        }

    }

    public static String reverseString(String s) {
        return (new StringBuffer(s)).reverse().toString();
    }
}