안녕하세요. 이번에는 백준 4153 직각삼각형 문제를 풀어보려고 합니다.
https://www.acmicpc.net/problem/4153
Problem
Solution
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
while(true) {
st = new StringTokenizer(br.readLine(), " ");
int[] arr = new int[3];
for(int i = 0; i < 3; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
if(arr[0] == 0) {
break;
}
if(checkTriangle(arr)) sb.append("right").append("\n");
else sb.append("wrong").append("\n");
}
System.out.println(sb);
}
public static boolean checkTriangle(int[] arr) {
// 가장 큰 길이의 변이 빗변이므로 정렬을 해준다.
Arrays.sort(arr);
if(Math.pow(arr[2], 2) == (Math.pow(arr[1], 2) + Math.pow(arr[0], 2))) {
return true;
}
return false;
}
}
이번 문제는 직각 삼각형인지 아닌지를 찾는 문제이다. 직각 삼각형의 공식은 빗변의 제곱 = 가로의 제곱 + 세로의 제곱이라는 것을 우리는 알고 있다. 그래서 우리는 Math.pow()를 사용해서 제곱들을 구하고 직각 삼각형에서는 빗변의 길이가 가장 길기 때문에 Sort 기능을 사용해서 가장 길이가 긴 숫자를 빗변으로 놓고 문제를 풀면 쉽게 답을 도출할 수 있다.
Performance
반응형
'백준 Algorithm > 백준 CLASS2' 카테고리의 다른 글
[백준] CLASS2 10814 나이순 정렬 - JAVA [자바] (0) | 2023.10.09 |
---|---|
[백준] CLASS2 9012 괄호 - JAVA [자바] (0) | 2023.10.08 |
[백준] CLASS2 2798 블랙잭 - JAVA [자바] (2) | 2023.10.06 |
[백준] CLASS2 2751 수 정렬하기 2 - JAVA [자바] (0) | 2023.10.05 |
[백준] CLASS2 2609 최대공약수와 최소공배수 - JAVA [자바] (0) | 2023.10.04 |