코딩테스트/백준

P.4153 직각삼각형

박 성 하 2022. 5. 23. 16:36
728x90

4153 직각삼각형

 

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB53815275492465051.008%

 

문제

과거 이집트인들은 각 변들의 길이가 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

코드

 

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

public class P_4153 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        while (true) {
            int[] arr = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();

            int x = arr[0], y = arr[1], z = arr[2];
            if (x == 0 && y == 0 && z == 0) break;

            int max = x;
            int flag = 0;
            if (y > max) {
                max = y;
                flag = 1;
            }
            if (z > max) {
                max = z;
                flag = 2;
            }

            if (flag == 0) {
                if (x * x == y * y + z * z) bw.write("right\n");
                else bw.write("wrong\n");
            }
            else if (flag == 1) {
                if (y * y == z * z + x * x) bw.write("right\n");
                else bw.write("wrong\n");
            }
            else {
                if (z * z == x * x + y * y) bw.write("right\n");
                else bw.write("wrong\n");
            }
        }

        bw.flush();
    }
}
728x90

'코딩테스트 > 백준' 카테고리의 다른 글

P.2231 분해합  (0) 2022.05.25
P.10250 ACM 호텔  (0) 2022.05.23
P.1085 직사각형에서 탈출  (0) 2022.05.23
P.1546 평균  (0) 2022.05.22
P.1157 단어 공부  (0) 2022.05.22