본문 바로가기

Algorithm/[BOJ]

[Java] 백준 2908번 : 상수

https://www.acmicpc.net/problem/2908

 

 

접근 방법

배열 선언해서 뒤집어야 하나 싶었는데 필요 없었다

대소 비교를 위해서 int형 전환도 필요 했다

 

제출한 코드

import java.io.*;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());

        String input_A = st.nextToken();
        String input_B = st.nextToken();

        String reverse1 = "";
        String reverse2 = "";

        for(int i=input_A.length()-1; i>=0; i--){
            reverse1 += input_A.charAt(i);
        }

        for(int i=input_B.length()-1; i>=0; i--){
            reverse2 += input_B.charAt(i);
        }

        int A = Integer.parseInt(reverse1);
        int B = Integer.parseInt(reverse2);

        // 대소 비교
        if(A<B)
            bw.write(String.valueOf(B));
        else
            bw.write(String.valueOf(A));


        bw.flush();
        bw.close();
    }
}

 

블로그 참고 후 제출한 코드

import java.io.*;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int A = Integer.parseInt(new StringBuilder(st.nextToken()).reverse().toString());
        int B = Integer.parseInt(new StringBuilder(st.nextToken()).reverse().toString());
        // 대소 비교
        if(A<B)
            bw.write(String.valueOf(B));
        else
            bw.write(String.valueOf(A));


        bw.flush();
        bw.close();
    }
}

두번째 코드가 더욱 빠르고 간결하다는 것을 알 수 있다.

 

 

참고한 블로그 

1) 문자열 뒤집기 : https://hianna.tistory.com/524

2) 코드 다듬기 :  https://st-lab.tistory.com/66