백준 분산처리

일의자리가 반복되고 나오는 수가 정해져있다는걸 알았을때 바로 떠오른 생각이 정해진 숫자가 얼마없으니 배열로 만들어놓고 빼서 갔다쓰자였습니다.

하지만 바로 실패를 해버렸고,

public class Main {
    static int[] arr1 = {1};
    static int[] arr2 = {2, 4, 8, 6};
    static int[] arr3 = {3, 9, 7, 1};
    static int[] arr4 = {4, 6};
    static int[] arr5 = {5};

    static  int[] arr6 = {6};
    static  int[] arr7 = {7, 9, 3, 1};
    static  int[] arr8 = {8, 4, 2, 6};
    static  int[] arr9 = {9, 1};
    static  int[] arr0 = {0};
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int textCase = sc.nextInt();
        

        for (int i = 0; i < textCase; i++) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            int realA = a % 10;

            findNums(b, realA);
        }
    }

    private static void findNums(int b, int realA) {
        if (realA == 1) {
            System.out.println(arr1[0]);
        } else if (realA == 2) {
            int realB = b % 4;
            System.out.println(arr2[realB]);
        } else if (realA == 3) {
            int realB = b % 4;
            System.out.println(arr3[realB]);
        } else if (realA == 4) {
            int realB = b % 2;
            System.out.println(arr4[realB]);
        } else if (realA == 5) {
            System.out.println(arr5[0]);
        } else if (realA == 6) {
            System.out.println(arr6[0]);
        } else if (realA == 7) {
            int realB = b % 4;
            System.out.println(arr7[realB]);
        } else if (realA == 8) {
            int realB = b % 4;
            System.out.println(arr8[realB]);
        } else if (realA == 9) {
            int realB = b % 2;
            System.out.println(arr9[realB]);
        } else if (realA == 0) {
            System.out.println(arr0[0]);
        }
    }
}

이때 int realB = b % 4 를 했을때 realB가 0이면 4번째 수인데 배열 인덱스랑 딱 맞춰지다보니까 0번째는 1번째 일의자리로 해놔서 자꾸 실패했단걸 알아 배열의 값의 자리수만 변경해 성공했습니다.

성공한 코드

static int[] arr1 = {1};
    static int[] arr2 = {6, 2, 4, 8};
    static int[] arr3 = {1, 3, 9, 7};
    static int[] arr4 = {6, 4};
    static int[] arr5 = {5};

    static int[] arr6 = {6};
    static int[] arr7 = {1, 7, 9, 3};
    static int[] arr8 = {6, 8, 4, 2};
    static int[] arr9 = {1, 9};
    static int[] arr0 = {10};

    위와동일~~

좋은 웹페이지 즐겨찾기