[JAVA/백준] 수학 2: 직각삼각형

👀 문제

https://www.acmicpc.net/problem/4153

👊 도전

1. 설계

  1. 입력받은 수 중 빗변을 찾고, 피타고라스의 정리를 이용한다.

2. 구현 (성공 코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Arrays;
import java.util.Scanner;

/**
 * 
 * @author HEESOO
 *
 */
public class Main {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		int x, y, r;
		int[] sort=new int[3];
		while(true){
			sort[0]=input.nextInt();
			sort[1]=input.nextInt();
			sort[2]=input.nextInt();
			Arrays.sort(sort);
			x=sort[0];
			y=sort[1];
			r=sort[2];
			if(x==0&&y==0&&r==0) break;
			
			if(r==Math.sqrt(x*x+y*y)) System.out.println("right");
			else System.out.println("wrong");
		}
	}
}

 

3. 결과

실행결과 🤟 성공 🤟

4. 설명

  1. 입력받은 숫자 중 빗변을 찾는다.
    • 빗변은 셋 중 가장 큰 값이다.
    • Arrays.sort()로 오름차순 정렬한 마지막 값이 빗변이다.
  2. 피타고라스의 정리를 이용한다.
    • r^2=x^2+y^2이므로 Math.sqrt()함수를 이용하여 루트값을 계산한 후 이것이 r과 같은지 확인한다.

👏 해결 완료!