https://www.acmicpc.net/problem/4153
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
이 문제는 피타고라스의 법칙의 방식으로 문제를 풀어나가면 된다.
문제를 푸는 방식보다 부가적인 조건을 확인하지 못하여 틀렸는데 바로 연속적으로 입력 받아야 한다는 점과 입력 값 중에서 가장 큰 값을 판단해야 한다는 점이다. 따라서 입력값을 배열로 처리하여 가장 큰값을 sort() 를 이용하여 판단하도록 하였다. 그리고 가장 0,0,0을 입력하면 프로그램이 끝나도록 하였다.
코드는 다음과 같다.
import java.util.Scanner;
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
while(true)
{
arr[0] = sc.nextInt();
arr[1] = sc.nextInt();
arr[2] = sc.nextInt();
//입력받은 배열 내림차순으로 정렬
//입력값 중 가장 큰 값을 알아내기 위함
Arrays.sort(arr);
if(arr[0]==0 && arr[1]==0 && arr[2]==0)
{
break;
}
else if((arr[0] * arr[0]) +(arr[1] * arr[1]) == arr[2]*arr[2])
{
System.out.println("right");
}
else
{
System.out.println("wrong");
}
}
sc.close();
}
}
'알고리즘' 카테고리의 다른 글
| 2024.2.5 백준 3문제 (1) | 2024.02.06 |
|---|---|
| [알고리즘]백준 2857 (0) | 2023.06.29 |
| [알고리즘] 백준 2525 (0) | 2023.06.29 |
| [알고리즘]백준 2884번: 알람시계 (0) | 2023.05.28 |
| [알고리즘]백준 2588번 곱셈 (0) | 2023.05.28 |