반응형
문제
풀이
package solved2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
//직각삼각형
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
int[] arr = new int[3];
while(true) {
st = new StringTokenizer(br.readLine()," ");
for(int i = 0; i < 3; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
if(arr[0] == 0 && arr[1] == 0 && arr[2] == 0) {
break;
}
Arrays.sort(arr);
if(arr[0] * arr[0] + arr[1] * arr[1] == arr[2] * arr[2]) {
sb.append("right").append('\n');
}else {
sb.append("wrong").append('\n');
}
}
System.out.println(sb);
br.close();
}
}
팁
1. 마지막줄에는 0 0 0이 입력된다.
if(arr[0] == 0 && arr[1] == 0 && arr[2] == 0) {
break;
}
2. 피타고라스의 정리(𝑎² + 𝘣² = 𝘤²)
가로 a, 세로 b의 제곱한 길이의 합은 빗변 c의 길이와 같다는 것을 이용하여 문제를 풀이한다.
이 때, 빗변 c가 가장 큰 값을 갖게하기 위해 arr을 오름차순 정렬한다.
Arrays.sort(arr);
if(arr[0] * arr[0] + arr[1] * arr[1] == arr[2] * arr[2]) {
sb.append("right").append('\n');
}else {
sb.append("wrong").append('\n');
}
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[백준] 2798.블랙잭(Java8) (0) | 2021.10.21 |
---|---|
[알고리즘] 백준 자바 플러그인 submit_java (0) | 2021.10.20 |
[백준] 15829.Hashing(Java8) (0) | 2021.10.18 |
[백준] 5585.거스름돈(Java8) (0) | 2021.10.17 |
[백준] 10773.제로(Java8) (0) | 2021.10.16 |