- 2개의 수를 뒤집어서 더 큰 수를 출력
https://www.acmicpc.net/problem/2908
1. 문제
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.
두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.
2. 문제 접근
- 2개의 값을 입력받는다.
- 2개의 수를 뒤집고 비교를 한다. -> 3가지 방법을 제시하려고 한다!!
- 더 큰 수를 출력한다.
핵심 코드!
- 2개의 값을 입력받고 더 큰 수를 출력하는 것은 거의 대부분 같은 방법을 사용하여 표현할 것 이다. 하지만 2개의 수를 두집는 경우는 여기서 3가지 정도를 제시하겠다.
1) 두 개의 값을 정수로 취급하는 경우
2) 두 개의 값을 문자열로 취급하는 경우
- 문자 하나하나 뒤에서 부터 새로운 문자열에 붙이는 경우
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int[] num = new int[5]; for(int i=0;i<2;i++) { num[i] = Integer.parseInt(st.nextToken()); num[2] = num[i] / 100; num[3] = (num[i]/10) % 10; num[4] = num[i] % 10; num[i] = (num[4]*100) + (num[3]*10) + num[2]; }
StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); for(int i=0;i<3;i++) { sb1.append(str1.charAt(2-i)); sb2.append(str2.charAt(2-i)); }
- StringBuilder의 reverse()메소드를 이용하는 경우
StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); sb1.reverse(); sb2.reverse();
3. 코드
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder(st.nextToken());
sb = sb.reverse();
int num1 = Integer.parseInt(sb.toString());
sb = new StringBuilder(st.nextToken());
sb = sb.reverse();
int num2 = Integer.parseInt(sb.toString());
if(num1 > num2) {
System.out.println(num1);
}
else {
System.out.println(num2);
}
}
}
'백준 > JAVA' 카테고리의 다른 글
[백준/JAVA] 1316번 그룹 단어 체커 (2) | 2023.01.19 |
---|---|
[백준/JAVA] 2941번 크로아티아 알파벳 (0) | 2023.01.18 |
[백준/JAVA] 단계별로 풀어보기(5단계) 코드 모음 (0) | 2023.01.18 |
[백준/JAVA] 단계별로 풀어보기(4단계) 코드 모음 (0) | 2023.01.18 |
[백준/JAVA] 8958번 OX퀴즈 (0) | 2023.01.18 |