5와 6의 차이

곽지욱·2023년 9월 23일

BOJ

목록 보기
26/69
post-thumbnail

2864번 : 5와 6의 차이

상근이는 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이 포함되어 있을 경우 두 수를 각각 변경시켜줌

0개의 댓글