codility - CountDiv 자바풀이

Sorbet·2021년 4월 7일
0

코테

목록 보기
12/35

codility - CountDiv 자바풀이

  • 이거.. 솔직히 테스트케이스가 좀 더 강화되면 또 fail날꺼같긴 하다.
  • 너무 if문으로 도배되어있는거같아서 조금의 죄책감
  • 주석이 풀이
class Solution {
    public int solution(int A, int B, int K) {

        int offset = 0;

        if (A % K == 0) {
            offset++;// +1 조건이므로
        }

        if (A == 0 && B == 0) {
            return 1;//코너케이스 예외처리
        }


        if (A == B) {
            if(B%K==0) {
                return 1;//A==B==K  인 상황 예외처리
            }
            else {
                return 0;//A==B 인데  K가 끼어들 틈이 없다
            }
        } else {
            int exc = A / K;
            int inc = B / K;
            return (inc - exc + offset);
        }


    }

    public static void main(String[] args) {
        tester(6, 11, 2, 3);
        tester(6, 12, 3, 3);
        tester(1, 1, 11, 0);
        tester(0, 0, 11, 1);
        tester(10, 10, 5, 1);
        tester(10, 10, 7, 0);
        tester(10, 10, 20, 0);
        tester(1, 1, 11, 0);
        tester(0, 0, 11, 1);
        //tester();
        //tester();
        //tester(0,Integer.MAX_VALUE,);
    }

    static void tester(int a, int b, int k, int ans) {

        Solution s = new Solution();
        int ret = s.solution(a, b, k);
        if (ans == ret) {
            System.out.println("OK");
            return;
        }
        System.out.printf("NG, your:%d , but answer:%d \n", ret, ans);

    }
}
profile
Sorbet is good...!

0개의 댓글