상근이는 5와 6을 헷갈림.
5를 6으로 볼때도 있고 6으로 볼 때도 있음
기본적으로 두 개의 두 자릿수의 합을 구하 되, 숫자에 5또는 6이 포함 될 경우
5가 6이 된 경우의 수의 합 , 6이 5가 된 경우의 수의 합 중 최솟값과 최댓 값을 출력하는 것
두 수 모두 5또는 6이 포함되어있지 않을 경우 최솟값과 최댓 값을 동일함
그렇다면 모든 6을 5로 헷갈린 경우의 수가 min 값이 되고
모든 5를 6으로 헷갈린 경우가 max 값이 됨
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Five_Six {
public static void main(String[] args) throws IOException {
//2864
//두 정수 A와 B가 주어짐
//출력은 두수의 합 중 최솟 값과 최댓 값
//5는 5가 될 수도 , 6이 될 수도 있음
//6도 마찬가지
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()); //띄어쓰기를 기준으로 문자열을 분리
String A = st.nextToken();
String B = st.nextToken();
A = A.replaceAll("6","5");
B = B.replaceAll("6","5");
int min = Integer.parseInt(A) + Integer.parseInt(B); //모든 6을 5로 바꾼 경우의 수가 최솟 값이 됨
A = A.replaceAll("5", "6");
B = B.replaceAll("5", "6");
int max = Integer.parseInt(A) + Integer.parseInt(B); //모든 5를 6으로 바꾼 결과가 최댓 값
System.out.println(min + " " + max);
}
}
일단 BufferedReader 로 입력을 받고 StringTokenizer -> 띄어쓰기 기준으로 문자열을 한 개의 토큰으로 구분하여 A와 B에 저장해줌
replaceAll 메서드로 5 또는 6이 포함되어 있을 경우 두 수를 각각 변경시켜줌