자바 백준 2908번
브론즈 2
https://www.acmicpc.net/problem/2908
문제 보기
분류: 수학, 구현
문제 풀기
세 자리의 자연수를 10으로 나눈 나머지 및 몫을 구하면서 숫자를 뒤집는다.
Math.max() 를 이용하여 둘 중 큰수를 찾는다.
코드 보기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 두 수를 입력 받음
int number1 = sc.nextInt();
int number2 = sc.nextInt();
// reverseNumber 메서드를 이용해 숫자 뒤집음
int reversedNumber1 = reverseNumber(number1);
int reversedNumber2 = reverseNumber(number2);
// 두 수를 비교하는 메서드
int result = compareTheReversedNumbers(reversedNumber1, reversedNumber2);
// 큰 수 결과 출력
System.out.print(result);
}
// 숫자를 뒤집는 메서드
public static int reverseNumber(int number) {
int reversedNumber = 0; // 변수 선언 및 초기화
// 입력된 수를 10으로 나눈 몫이 0이 될때까지 반복
while (number > 0) {
// System.out.println("number: " + number); // TEST PRINT
int digit = number % 10; // 매 loop마다 나머지를 구해 1의 자리 저장
reversedNumber = reversedNumber * 10 + digit; // 이전 loop에서 생성된 1의 자리 숫자에 10을 곱해 10의 자리로 만든 후 새로운 1의 자리 숫자 더함
number = number / 10; // 10으로 나눈 몫으로 1의 자리 제거
// System.out.println("reversedNumber: " + reversedNumber); // TEST PRINT
}
return reversedNumber;
}
// 큰 수 찾기
public static int compareTheReversedNumbers(int reversedNumber1, int reversedNumber2) {
// Math.max()를 사용하여 큰 수 찾기
int maxReversedNumber = Math.max(reversedNumber1, reversedNumber2);
return maxReversedNumber;
}
}
/*
734 893
number: 734
reversedNumber: 4
number: 73
reversedNumber: 43
number: 7
reversedNumber: 437
number: 893
reversedNumber: 3
number: 89
reversedNumber: 39
number: 8
reversedNumber: 398
437
*/
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 2566 - 최댓값 (0) | 2023.06.29 |
---|---|
[Java] 백준 풀기 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.06.28 |
[Java] 백준 풀기 5597 - 과제 안 내신 분..? (0) | 2023.06.26 |
[Java] 백준 풀기 11022 - A+B 8 (0) | 2023.06.24 |
[Java] 백준 풀기 25314 - 코딩은 체육과목 입니다 (0) | 2023.06.23 |