[Java][백준] #2908 - 상수

배수연·2024년 3월 15일

algorithm

목록 보기
14/45

🔗 백준 2908 - 상수

문제

알고리즘 분류

  • 수학
  • 구현

풀이

1. 입력

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        String a = st.nextToken();
        String b = st.nextToken();

2. 수를 거꾸로 저장

  • 두 수는 항상 세 자리 수 이므로, 문자열의 0, 1, 2번째 인덱스를 거꾸로 저장해도 됨, 즉 2, 1, 0 순서로 저장.
  • 이 때, char형 문자로 저장하기 위해 -'0'을 해주고, 각 자릿수(100, 10, 1)을 곱해주어야함
        int reversed_a = ((a.charAt(2)-'0')*100) + ((a.charAt(1)-'0')*10) + a.charAt(0)-'0';
        int reversed_b = ((b.charAt(2)-'0')*100) + ((b.charAt(1)-'0')*10) + b.charAt(0)-'0';

3. 최댓값 출력

  • Math 라이브러리의 max함수 사용
        System.out.println(Math.max(reversed_a, reversed_b));

전체 코드

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());
        String a = st.nextToken();
        String b = st.nextToken();
        int reversed_a = ((a.charAt(2)-'0')*100) + ((a.charAt(1)-'0')*10) + a.charAt(0)-'0';
        int reversed_b = ((b.charAt(2)-'0')*100) + ((b.charAt(1)-'0')*10) + b.charAt(0)-'0';
        System.out.println(Math.max(reversed_a, reversed_b));
    }
}

0개의 댓글