gone

#[백준] 2908 상수 (StringBuilder.reverse()) 본문

알고리즘

#[백준] 2908 상수 (StringBuilder.reverse())

예쁨받는 돌맹이 2024. 1. 15. 10:45

 

문제 해석)

Q. 두 수 중 큰 수 찾기

 

'상수'가 숫자를 읽는 방법은 특이하다. 734 893 두 숫자를 437 398 로 거꾸로 읽는다. 그래서 큰 수를 437 이라고 말한다.

 

조건 1) 공백으로 두 수가 구분되어진다.

조건 2) 세 자릿수로 고정


제출 1)

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

public class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] numbers = br.readLine().split(" ");
        
        
        String n1 = numbers[0];
        String n2 = numbers[1];

        int new1 = Integer.parseInt(n1.substring(2) + n1.substring(1, 2) + n1.substring(0,1));
        int new2 = Integer.parseInt(n2.substring(2) + n2.substring(1, 2) + n2.substring(0,1));

        if (new1 > new2) {
            System.out.println(new1);
        } else if (new1 < new2) {
            System.out.println(new2);
        }
    }

}

 


제출 2) StringBuilder 클래스 사용

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
	public static void main(String[] args) throws IOException {
 
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		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());
		
		System.out.print(A > B ? A:B);
		
	}
}

 

StringBuilder클래스에 문자열을 뒤집는 reverse() 메소드가 있다는 사실을 이번문제를 통해 공부하게 되었다.

'알고리즘' 카테고리의 다른 글

#[백준] 5622 다이얼  (1) 2024.01.15
#[백준] 1157 단어공부  (0) 2024.01.12
#[백준] 1152 단어의 개수(StringTokenizer 클래스)  (0) 2024.01.12