반응형
1. 문제 추상화
입력된 두 개 정수를 역순으로 변환 후 크기가 큰 정수를 출력하라.
2. 알고리즘
첫 번째 방법
정수 % 10 연산을 사용하여, 1의 자리 수부터 역순으로 String 변수에 붙이기
두 번째 방법
API 이용하기 (StringBuilder 클래스)
3. 풀이
첫 번째 방법
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
// 내 풀이
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer stz;
stz = new StringTokenizer(br.readLine()," ");
String a = stz.nextToken();
String b = stz.nextToken();
// 정수문자열 역순 변환 메소드 호출
String reverseA = reverseValue(a);
String reverseB = reverseValue(b);
if(Integer.parseInt(reverseA) >= Integer.parseInt(reverseB)) {
bw.write(reverseA);
}else {
bw.write(reverseB);
}
bw.flush();
bw.close();
br.close();
}
// 정수문자열 역순 변환 메소드
public static String reverseValue(String value) {
int data = Integer.parseInt(value);
String result = "";
while(data > 0) {
int decimal = data % 10; // 10으로 나눈 나머지
result += decimal; // 1의 자리부터 붙이기
data /= 10;
}
return result;
}
}
두 번째 방법
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
// API 이용한 풀이
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer stz;
stz = new StringTokenizer(br.readLine()," ");
String a = stz.nextToken();
String b = stz.nextToken();
// API 이용( StringBuilder 객체의 reverse() 메소드 사용 )
int reverseA = Integer.parseInt(new StringBuilder().append(a).reverse().toString());
int reverseB = Integer.parseInt(new StringBuilder().append(b).reverse().toString());
bw.write((reverseA >= reverseB ? reverseA : reverseB)+"");
bw.flush();
bw.close();
br.close();
}
}
반응형
'문제풀이 > String' 카테고리의 다른 글
[PS] BOJ2608 로마숫자 ( string ) with JAVA (0) | 2023.08.28 |
---|---|
[PS] BOJ165000 문자열 판별 ( String ) with JAVA (0) | 2023.08.23 |
[CodingTest] BOJ17413 단어뒤집기2 ( 문자열 ) with Python (0) | 2023.06.09 |
[JAVA] 백준 1436번 영화감독 숌 : 문자열 찾기 (0) | 2021.07.31 |
[JAVA] 백준 5622번 크로아티아 알파벳 : 문자열 탐색 (0) | 2021.07.13 |