본문 바로가기

알고리즘/백준

[백준] 1002번 자바

오류 코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T;
        T = sc.nextInt();

        int x1, y1, r1, x2, y2, r2;
        double d;

        for (int i = 0; i < T; i++) {
            x1 = sc.nextInt();
            y1 = sc.nextInt();
            r1 = sc.nextInt();

            x2 = sc.nextInt();
            y2 = sc.nextInt();
            r2 = sc.nextInt();
            d = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));


            if (d < (r1 + r2) && d > Math.abs(r1 - r2))
                System.out.println(2);
            else if (d == (r1 + r2) || d == Math.abs(r1 - r2))
                System.out.println(1);
            else if (d > (r1 + r2) || d < Math.abs(r1 - r2) || (d == 0 && r1!=r2))
                System.out.println(0);
            else if (d == 0 && r1 == r2)
                System.out.println(-1);
        }
    }
}

정답 코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T;
        T = sc.nextInt();

        int x1, y1, r1, x2, y2, r2;
        double d;

        for (int i = 0; i < T; i++) {
            x1 = sc.nextInt();
            y1 = sc.nextInt();
            r1 = sc.nextInt();

            x2 = sc.nextInt();
            y2 = sc.nextInt();
            r2 = sc.nextInt();
            d = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));

            if (d == 0 && r1 == r2)
                System.out.println(-1);
            else if (d < (r1 + r2) && d > Math.abs(r1 - r2))
                System.out.println(2);
            else if (d == (r1 + r2) || d == Math.abs(r1 - r2))
                System.out.println(1);
            else if (d > (r1 + r2) || d < Math.abs(r1 - r2) || (d == 0 && r1!=r2))
                System.out.println(0);
        }
    }
}

 

if 문에서 해당 코드를 제일 마지막에서 첫번째로 올렸더니 해결되었다.

if (d == 0 && r1 == r2)

이유는 모르겠다.

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1004번 자바  (0) 2022.02.17
[백준] 1003번 자바  (0) 2022.02.17