이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제 출처
https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
출력
첫째 줄에 상수의 대답을 출력한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 2908번
public class Main {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String text[] = br.readLine().split(" ");
String A;
String B;
A = text[0].substring(2) + text[0].substring(1, 2) + text[0].substring(0, 1);
B = text[1].substring(2) + text[1].substring(1, 2) + text[1].substring(0, 1);
int C = Integer.parseInt(A);
int D =Integer.parseInt(B);
if(C>D) {
System.out.println(C);
}else {
System.out.println(D);
}
}catch(IOException e){
System.out.println(e.toString());
}
}
}
|
cs |
풀이
문제에서 요구하는 풀이는 세 자릿수 두 개를 비교하는 문제이다.
예시로는 734와 893이 있고, 이것을 437과 398로 읽는다. 즉 맨 뒷자리 수를 앞으로 맨 앞자리 수를 맨 뒤로 옮긴다.
7과 4의 위치, 8과 3의 위치를 바꾼다.
바꿨을 때 이 두 수를 비교하여 값을 비교한다.
문제에서 세 자리 2개를 비교하는 문제라고 명시했기 때문에 A, B 두 문자열을 선언하여 값을 넣고 3자리 수만 처리할 수 있도록 문자열을 substring으로 잘라서 저장한다. 이후 정수로 값을 바꾼 뒤 간단한 if문으로 출력하여 해결하면 된다.
오타나 문제 해결에 이상한 부분이 있는 경우 언제든지 댓글 부탁드리겠습니다!
다음 포스팅 때 뵙겠습니다!
(여담)
드디어 백준에 있는 class 1 문제를 다 풀고 1++를 달성했습니다!
회사 인턴 다니면서 조금씩 풀어야지 하고 있었는데 백준하고 프로그래머스 둘 다 풀다 보니 생각보다 시간이 많이 걸렸던 것 같네요 부지런히 class 2단계를 넘어 꾸준히 매일 풀어나가야겠습니다 ㅎㅎ
'백준 - Java' 카테고리의 다른 글
[백준 - 10870][Java] 피보나치 수 5 (0) | 2022.08.15 |
---|---|
[백준 - 1181][Java] 단어 정렬 (0) | 2022.08.01 |
[백준 - 1157][Java] 단어 공부 (0) | 2022.07.27 |
[백준 - 2750][Java]수 정렬하기 (0) | 2022.06.20 |
[백준 - 1789][Java] 수들의 합 (0) | 2022.06.15 |