문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력 값을 받았습니다.
- StringTokenizer를 통해서 띄어쓰기 기준으로 나누어 각자 숫자를 저장하였습니다.
- 직각 삼각형인지 확인하는 함수 checkRightTriangle을 만들었습니다.
- 직각 삼각형이 되기위한 조건은 밑변*2 + 높이*2 == 빗변*2 AND 밑변 + 높이 > 빗변 성립해야 합니다.
- n1/n2/n3 숫자들이 빗변이 되었을 때의 경우의 수를 모두 적용하여 직각 삼각형인지 확인하였습니다.
- 직각 삼각형이면 bw에 "right"를 저장하고 아니면 "wrong"를 저장하였습니다.
- BufferedWriter를 통해 저장된 결과를 출력하였습니다.
결과 코드
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));
//BufferedReader를 통해 입력 값 받기
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//BufferedWriter를 통해 결과 출력
StringTokenizer st;
String text;
for(;;) {
text = br.readLine();
if(text.equals("0 0 0"))
break;
st = new StringTokenizer(text," "); //띄어쓰기 기준 나누기
int n1 = Integer.parseInt(st.nextToken()); //숫자 저장하기
int n2 = Integer.parseInt(st.nextToken());
int n3 = Integer.parseInt(st.nextToken());
//직각 삼각형인지 확인
if(checkRightTriangle(n1,n2,n3) || checkRightTriangle(n1, n3, n2)
|| checkRightTriangle(n2, n3, n1))
bw.write("right\n"); //bw에 저장
else
bw.write("wrong\n");
}
bw.flush(); //결과 출력
bw.close();
br.close();
}
public static boolean checkRightTriangle(int w,int h,int d) { //직각 삼각형 확인 함수
int temp = w*w + h*h;
if(temp==(d*d) && w+h>d)
return true;
else
return false;
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)1002번, 터렛 (0) | 2022.01.06 |
---|---|
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)3053번, 택시 기하학 (0) | 2022.01.06 |
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)3009번, 네 번째 점 (0) | 2022.01.06 |
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)1085번, 직사각형에서 탈출 (0) | 2022.01.04 |
[백준] 단계별로 풀어보기(단계:9,기본수학2,JAVA)9020번, 골드바흐의 추측 (0) | 2022.01.04 |
댓글