728x90
반응형
SMALL
백준 문제 풀이: 2908 [상수]
문제 링크: https://www.acmicpc.net/problem/2908
문제 설명:
두 세 자리 숫자 A
와 B
가 주어집니다. 각 숫자를 거꾸로 읽었을 때 더 큰 숫자를 출력하는 문제입니다.
문제 해결 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 입력 받기
int a = scanner.nextInt();
int b = scanner.nextInt();
// 숫자 뒤집기
int ra = (a % 10) * 100 + (a % 100 - a % 10) + (a / 100);
int rb = (b % 10) * 100 + (b % 100 - b % 10) + (b / 100);
// 더 큰 숫자 출력
if (ra > rb) {
System.out.println(ra);
} else {
System.out.println(rb);
}
}
}
예제 입력:
734 893
예제 출력:
437
코드 설명
- 핵심 알고리즘: 세 자리 숫자를 뒤집는 방법을 활용하여, 뒤집힌 두 숫자 중 큰 값을 출력합니다.
- 구현 세부사항:
(a % 10) * 100
: 숫자의 1의 자리를 100의 자리로 이동합니다.(a % 100 - a % 10)
: 숫자의 10의 자리를 그대로 가져옵니다.(a / 100)
: 숫자의 100의 자리를 1의 자리로 이동합니다.
- 시간 복잡도: 입력값의 길이가 고정된 세 자리 숫자이므로, 모든 연산은 O(1)입니다.
결과
입력된 두 숫자를 거꾸로 읽었을 때 더 큰 값을 출력합니다. 문제는 간단한 숫자 조작 및 조건문 활용을 연습하기에 적합합니다. 추가적인 질문이나 개선 사항이 있다면 댓글로 알려주세요!
728x90
반응형
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 1769번 [3의 배수](C++) -yes6686- 티스토리 (0) | 2025.01.21 |
---|---|
백준 13909번 [창문 닫기](C++) -yes6686- 티스토리 (0) | 2025.01.15 |
백준 4134번 [다음 소수](C++) -yes6686- 티스토리 (0) | 2025.01.13 |
백준 24313번 [알고리즘 수업 - 점근적 표기 1](C++)-yes6686- 티스토리 (0) | 2025.01.12 |
백준 24267번 [알고리즘 수업 - 알고리즘의 수행 시간 6](C++) -yes6686- 티스토리 (0) | 2025.01.11 |