Notice
Recent Posts
Recent Comments
Link
«   2026/09   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발자의 자기계발 블로그( ੭ ・ᴗ・ )੭

[코딩테스트] 백준 2908번: 상수 reverse() (JAVA) 본문

코딩테스트

[코딩테스트] 백준 2908번: 상수 reverse() (JAVA)

쪼사원 2024. 4. 11. 11:39

자바에는 편리한 메소드들이 참 많구나....... ㅠㅠㅠ 

난 왤케 모르는게 많지 .. ㄱㅊ아 알아가면 됨.....

 

두 수를 입력 받고 거꾸로 된 두 수의 크기를 비교하여 더 큰 수를 출력하는 문제이다.

 

난 reverse() 메서드의 존재를 몰랐고... 

그래서 어케 풀었냐면

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        
        int a = in.nextInt();
        int b = in.nextInt();
        
        int newA = reverse(a);
        int newB = reverse(b);
        
        if(newA > newB){
            System.out.println(newA);
        }else{
            System.out.println(newB);
        }
        
    }
    public static int reverse(int num){
        int rev = num / 100 + ((num % 100) / 10) * 10 + (num % 10) * 100;
        return rev;
    }
}

이렇게함...ㅋㅋㅋ StringBuilder의 reverse() 메소드를 알고있다면 쉽게 풀 수 있는 문제,,ㅠㅠ

 

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        
        int a = in.nextInt();
        int b = in.nextInt();
        
        int newA = Integer.parseInt(new StringBuilder().append(a).reverse().toString());
        int newB = Integer.parseInt(new StringBuilder().append(b).reverse().toString());
        // StringBuilder은 String을 입력받아서 StringBuilder(a)와 같이 바로 숫자를 넣을 수 없음
        // a와 b를 Integer.toString()을 이용하여 문자열로 바꿔주는 방법도 있지만
        // append() 메서드를 사용하여 넣어줬음
        // sb에 입력된 값을 reverse() 메소드를 이용하여 역순으로 바꿔주고
        // 역순으로 바뀐 값의 타입이 StringBuilder이기 때문에 (reverse() 메서드의 반환값은 StringBuilder)
        // toString()을 이용하여 다시 String타입으로 변경해줘야함
        // String 타입이 된 친구를 다시 int형으로 바꾼다음 newA,B에 저장

        System.out.println(newA > newB ? newA : newB);
    }
}

 

StringBuilder와 reverse, append 메서드를 이용하여 다시 푼 모습이다 ~!! 

 

 

처음 짠 코드대로 해도 당연히 정답이지만,,

더 짧고 간편하게 할 수록 좋은 코드라는 점 !

java에서 제공하는 메소드를 적극 활용할 수 있는 개발자가 되기를,,,