✏️ 문제풀이/백준

[백준/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 메소드를 사용해서 쉽게 풀이하는 방법을 알게 되었다.

그래서 이 방법으로도 풀어보기 클리어~!