코딩테스트

[백준 2864] 5와 6의 차이 자바 문자열

양쏘쏘 2023. 6. 15. 18:30
728x90
반응형

문제

 

2864번: 5와 6의 차이

첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)

www.acmicpc.net

상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.

상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.

두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)

출력

첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.

접근 방식

최솟값은 5와 6 모두를 5로 볼 때이고 최댓값은 5와 6을 모두 6으로 볼 때일 거다. 한쪽으로 다 바꾸고 개수를 세서 계산해도 되겠지만 입력값이 두 개뿐이어서 문자열로 처리했다.

풀이

import java.util.*;

public class Main {
    public static int min(String n){
        return Integer.parseInt(n.replaceAll("6","5"));
    }
    public static int max(String n){
        return Integer.parseInt(n.replaceAll("5","6"));
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String n = scanner.next();
        String m = scanner.next();
        int min,max;
        min = min(n) + min(m);
        max = max(n) + max(m);
        System.out.println(min +" "+max);
    }
}
728x90