[BOJ] 4153 직각삼각형

황은하·2021년 4월 17일
0

알고리즘

목록 보기
9/100
post-thumbnail

문제

과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

입력

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

출력

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

예제 입력 1

6 8 10
25 52 60
5 12 13
0 0 0

예제 출력 1

right
wrong
right


풀이

입력받은 수를 문자열 배열에 넣고 이를 숫자로 형변환시킨 다음, 정렬하여 제일 긴 변이 c가 되게 했다. 그래서 길이 비교를 통해 직각삼각형이 맞나 확인했다.


코드

import java.io.*;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        String[] numbers;
        int nums[] = new int[3];
        int a, b, c;

        while (true) {
            numbers = br.readLine().split(" ");
            for (int i = 0; i < numbers.length; i++)
                nums[i] = Integer.parseInt(numbers[i]);

            Arrays.sort(nums);

            a = nums[0];
            b = nums[1];
            c = nums[2];

            if (a == 0 && b == 0 && c == 0) {
                break;
            }
            
            if (a * a + b * b == c * c) {
                bw.write("right\n");
            } else {
                bw.write("wrong\n");
            }
        }
        bw.flush();
    }
}
profile
차근차근 하나씩

0개의 댓글