문제
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.
입력
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
출력
각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다.
풀이
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main{
public static void main (String[] args) throws java.lang.Exception {
Scanner sc = new Scanner(System.in);
while(true){
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int[] arr = {a,b,c};
Arrays.sort(arr);
// break : 마지막줄에는 0 0 0이 입력
if(a == 0){
break;
}
if(Math.sqrt(Math.pow(arr[0],2) + Math.pow(arr[1],2)) == arr[2]){
System.out.println("right");
} else {
System.out.println("wrong");
}
}
sc.close();
}
}
1. Arrays.sort()로 배열 내의 숫자를 오름차순으로 정렬
2. Math.sqrt()로 제곱근 구하기
3. Math.pow()로 제곱구하기
출처
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
반응형
'Algorithm > Java' 카테고리의 다른 글
[백준알고리즘] 10872번 팩토리얼 (JAVA) (0) | 2021.03.19 |
---|---|
[백준알고리즘] 3053번 택시 기하학 (JAVA) (0) | 2021.03.17 |
[백준알고리즘] 3009번 네 번째 점 (JAVA) (0) | 2021.03.15 |
[백준알고리즘] 1085번 직사각형에서 탈출 (JAVA) (0) | 2021.03.12 |
[백준알고리즘] 9020번 골드바흐의 추측 (JAVA) (0) | 2021.03.11 |