본문 바로가기
👩‍💻TIL/백준 알고리즘

[백준 알고리즘] 문제 4153-직각삼각형(JAVA)

by devuna 2020. 1. 21.
728x90

 

백준 알고리즘 문제  4153-직각삼각형(Java)

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다.

주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

 

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다.

각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

 

출력 : 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.

 

소스코드

 

public static void main(String[] args) {
 while (true) {
    int a[] = new int[3];  //크기 3인 배열 선
    Scanner sc = new Scanner(System.in);
    System.out.print("각변의 길이 3가지 입력 :");
    a[0] = sc.nextInt();
    a[1] = sc.nextInt();
    a[2] = sc.nextInt();

    if (a[0] == 0 && a[1] == 0 && a[2] == 0)//0 0 0일때, 종료조건 설정
        break;

    for (int i = 0; i < 3; i++) {
        if (a[i] < 0 || a[i] > 30000) {
            System.out.println("30000미만의 양수를 입력하세요");
            break;
        } else {
            Arrays.sort(a);

            if ((a[0] * a[0]) + (a[1] * a[1]) == (a[2] * a[2]) 
                && (a[0] * a[1] * a[2]) != 0) {
                System.out.println("right");
                //첫번째 수와 두번째 수의 제곱의 합 세번째 수의 제곱인 
                //피타고라스의 정리 조건 설정
                continue;

            } else {
                System.out.println("wrong");
                continue;
            }
        }
    }
  }
}
728x90

댓글