✏️ 문제풀이/백준
[백준/Java] 2908번 :: 상수
bono-hye
2024. 4. 12. 20:51

1) Scanner 사용
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String a = sc.next();
String b = sc.next();
int numA = Integer.parseInt(Character.toString(a.charAt(2)) + Character.toString(a.charAt(1)) + Character.toString(a.charAt(0)));
int numB = Integer.parseInt(Character.toString(b.charAt(2)) + Character.toString(b.charAt(1)) + Character.toString(b.charAt(0)));
System.out.println((numA>numB) ? numA : numB);
sc.close();
}
}

2) BufferedReader + 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.println((a>b)?a:b);
}
}

💡 정리
scanner사용해서 charAt으로 하나하나 글자 위치를 바꿔주는 방법을 풀었다.
단, 이 방법은 세자리라는 조건이 있기 때문에 가능한거고 어떤 조건에서나 적용할 수 없어 좋은 풀이가 아니라고 생각했다!!
다른 사람들은 어떻게 풀었나 찾아보니 StringBuilder에 있는 reverse 메소드를 사용해서 쉽게 풀이하는 방법을 알게 되었다.
그래서 이 방법으로도 풀어보기 클리어~!