https://www.acmicpc.net/problem/9086
9086번: 문자열
입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으
www.acmicpc.net
문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.
출력
첫째 줄에 상수의 대답을 출력한다.
예제 입력 1
734 893
예제 출력 1
437
예제 입력 2
221 231
예제 출력 2
132
예제 입력 3
839 237
예제 출력 3
938
👉 풀이과정
1. 문자열 2개를 입력받는다.
2. 문자열 역순정렬을 위해서 StringBuilder를 선언해서 입력받은 문자열을 넣어준다.
3. reverse()를 사용해서 문자열 역순정렬해준다.
4. 문자열을 숫자로 변경하기 위해서 StringBulider타입을 String타입으로 변경한다.
5. Integer.parseInt()로 타입을 변경해준다.
📌 제출코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String a = scan.next();
String b = scan.next();
StringBuilder sb1 = new StringBuilder(a);
StringBuilder sb2 = new StringBuilder(b);
sb1.reverse();
sb2.reverse();
a = String.valueOf(sb1);
b = String.valueOf(sb2);
if(Integer.parseInt(a) > Integer.parseInt(b)){
System.out.println(a);
}else{
System.out.println(b);
}
}
}
코드가..뭔가..너무 바보같잖아..😢
'코딩테스트 > JAVA' 카테고리의 다른 글
| [JAVA/프로그래머스] k의 개수 (0) | 2023.10.10 |
|---|---|
| [JAVA/백준 2442번] 별 찍기 - 5 (0) | 2023.10.09 |
| [JAVA/백준 2439번] 별 찍기 - 2 (0) | 2023.10.08 |
| [JAVA/백준 9086번] 문자열 (1) | 2023.10.08 |
| [JAVA/프로그래머스] 연속된 수의 합 (0) | 2023.10.07 |