반응형
이번 문제는 피타고라스 정의로 풀어 낼수 있다. 세변중 작은 두변을 a , b 가장큰변을 c 라고 할때
a*a+b*b=c*c를 만족하면 직각 삼각형이다. 그리고 문제를 잘 보면 '변의 길이'만 나와 있지 어떤게 큰지 작은지 알 수 없다. 따라서 정렬을 한 후 공식에 대입하여 풀어야 한다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while(true){
StringTokenizer strToken=new StringTokenizer(br.readLine()," ");
int[] input=new int[3];
for(int i=0;i<input.length;i++){
input[i]=Integer.parseInt(strToken.nextToken());
if(input[0]==0) return;
}
Arrays.sort(input);
System.out.println(checkRightTriangle(input[0],input[1],input[2]));
}
}
public static String checkRightTriangle(int a,int b,int c){
if((a*a+b*b)==(c*c)) return "right";
else return "wrong";
}
}
감사합니다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 백준 1085번 직사각형에서 탈출 Java 자바 (0) | 2021.05.04 |
---|---|
[알고리즘] 백준 9095번 1,2,3 더하기 Java 자바 (0) | 2021.05.02 |
[알고리즘] 백준 6603번 로또 Java (0) | 2021.04.27 |
[알고리즘] 백준 1966번 AC큐 Java (0) | 2021.04.22 |
[알고리즘] 백준 1966번 프린터 큐 Java (0) | 2021.04.22 |
댓글