[백준] 2908번 : 상수 -JAVA
2024. 11. 15. 16:37 - DoosanBaek
내 풀이
문제 분석
- 첫째 줄에 상근이가 적은 A와 B가 주어지면, 각각의 숫자를 거꾸로 하여 크기 비교한 후 큰 숫자를 출력한다.
제약조건
- 두 수는 같지 않은 세자리 수이며, 0이 포함되어 있지 않다.
의사결정
- 상근이가 적은 A와 B를 BufferedReader로 입력받아서
- A와 B를 각각 거꾸로 뒤집고
- 크기 비교하여 큰 수를 출력한다.
package com.doosane.study01.week01.day3.bronze;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ2908 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// BufferedReader, InputStreamReader 로 입력 받으면 메모리 사용 효율이 좋다.
String[] input = br.readLine().split(" "); // 입력 값을 공백으로 구분하여 두 개의 문자열로 분리한다.
br.close(); // 입력 작업 완료후 BufferedReader 닫음
// reverseNumber 메소드를 이용해서 문자열을 뒤집는다.
int A = reverseNumber(input[0]); // 인덱스 0 -> 첫번째 숫자 문자열
int B = reverseNumber(input[1]); // 인덱스 1 -> 두번째 숫자 문자열
printLargerNumber(A, B); // printLargerNumber 메소드 실행
}
// 문자열 숫자를 뒤집어 저장
static int reverseNumber(String num) {
StringBuilder sb = new StringBuilder(num);
// StringBuilder 를 사용하여 문자열을 뒤집고
return Integer.parseInt(sb.reverse().toString());
// 뒤집어진 문자열을 정수로 변환해서 반환한다.
}
static void printLargerNumber(int A, int B) {
// Math.max 사용해서 A, B 중에서 큰 숫자를 출력
System.out.println(Math.max(A, B));
}
}
'알고리즘' 카테고리의 다른 글
[백준] 26693번 : 근무 지옥에 빠진 푸앙이 (Small) - JAVA (0) | 2024.11.16 |
---|---|
[백준] 27160번 : 할리갈리 - JAVA (0) | 2024.11.16 |
[백준] 29701번 : 모스 부호 -JAVA (0) | 2024.11.16 |
[백준] 2605번 : 줄 세우기 -JAVA (0) | 2024.11.16 |
[백준] : 1152번 - 단어의 개수 - JAVA (0) | 2024.11.15 |
[백준] 26041번 : 비슷한 전화번호 표시 - JAVA (0) | 2024.11.15 |
[백준] 2675번 : 문자열 반복 - JAVA (1) | 2024.11.15 |
[백준] 9184번 : 신나는 함수 실행 - JAVA (0) | 2024.11.14 |