728x90
https://www.acmicpc.net/problem/4153
코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] n = new int[3];
while (true) {
for (int i = 0; i < 3; i++)
n[i] = scanner.nextInt();
Arrays.sort(n);
if (n[2] == 0)
break;
if (n[0] * n[0] + n[1] * n[1] == n[2] * n[2])
System.out.println("right");
else
System.out.println("wrong");
}
scanner.close();
}
}
설명
while 무한 루프 안에서 작동하고, 0 0 0이 입력되면 break 된다.
각 변의 길이를 받아 저장할 배열 n을 만들고, n의 각 인덱스에 변의 길이를 저장한다.
n을 오름차순으로 정렬하여 만약 가장 큰 변의 길이(n[2])가 0이면 나머지 변의 길이도 0이므로 break 한다.
만약 0 0 0이 아니라면, 피타고라스의 정리를 이용해 직각삼각형인지 판별한다. (a^2 + b^2 = c^2)
직각삼각형이 맞으면 right을, 아니면 wrong을 출력한다.
728x90
'JAVA > BOJ' 카테고리의 다른 글
[백준] 2675번: 문자열 반복 (0) | 2021.07.19 |
---|---|
[백준] 1929번: 소수 구하기 (1) | 2021.07.18 |
[백준] 1546번: 평균 (0) | 2021.07.11 |
[백준] 2753번: 윤년 (1) | 2021.07.11 |
[백준] 10172번: 개 (1) | 2021.07.01 |