코딩/백준-자바
[자바] 백준 2864번: 5와 6의 차이
철없는민물장어
2023. 1. 2. 21:04
728x90
https://www.acmicpc.net/problem/2864
2864번: 5와 6의 차이
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
www.acmicpc.net
a의 최대,최소
b의 최대,최소를 구한다.
최댓값끼리 더해 최댓값을 구하고
최솟값끼리 더해 최솟값을 구한다.
정수를 String형으로 받아서 한 문자씩 처리하면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class P2864 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String str_a = st.nextToken();
String str_b = st.nextToken();
StringBuffer max_a = new StringBuffer("");
StringBuffer min_a = new StringBuffer("");
StringBuffer max_b = new StringBuffer("");
StringBuffer min_b = new StringBuffer("");
for (int i = 0; i < str_a.length(); i++) {
if (str_a.charAt(i) - '0' == 5) {
max_a.append(6);
min_a.append(5);
} else if (str_a.charAt(i) - '0' == 6) {
min_a.append(5);
max_a.append(6);
} else {
max_a.append(str_a.charAt(i));
min_a.append(str_a.charAt(i));
}
}
for (int i = 0; i < str_b.length(); i++) {
if (str_b.charAt(i) - '0' == 5) {
max_b.append(6);
min_b.append(5);
}
else if (str_b.charAt(i) - '0' == 6) {
min_b.append(5);
max_b.append(6);
} else {
max_b.append(str_b.charAt(i));
min_b.append(str_b.charAt(i));
}
}
int rs_max = Integer.parseInt(max_a.toString()) + Integer.parseInt(max_b.toString());
int rs_min = Integer.parseInt(min_a.toString()) + Integer.parseInt(min_b.toString());
System.out.println(rs_min + " " + rs_max);
}
}
728x90