문제
https://www.acmicpc.net/problem/5073
세 변의 길이가 주어졌을 때 삼각형의 종류를 판별하는 문제이다.
문제 풀이
삼각형을 이루기 위한 조건은 가장 긴 변의 길이보다 나머지 두 변의 합이 커야 한다는 것이다. 이를 먼저 검사한 후 조건을 만족하지 않으면 "Invalid"를 출력한다. 조건을 만족하면 세 변의 관계에 따라 삼각형의 종류를 분류한다.
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));
while(true){
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int num3 = Integer.parseInt(st.nextToken());
if(num1==0 && num2==0 & num3==0) break;
String result = "Invalid"; //기본값
int max=Math.max(Math.max(num1, num2), num3); //가장 긴 변 구하기
//조건을 만족한다면 분류하기
if ((num1+num2+num3-max)>max) {
if(num1 == num2 && num1 == num3 && num2 == num3) {
result = "Equilateral";
}
else if (num1 == num2 || num1 == num3 || num2 == num3) {
result = "Isosceles";
}
else {
result = "Scalene";
}
}
System.out.println(result);
}
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준/JAVA]24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2025.05.29 |
---|---|
[백준/JAVA]14215번 세 막대 (0) | 2025.05.28 |
[백준/JAVA]10101번 삼각형 외우기 (0) | 2025.05.21 |
[백준/JAVA]9063번 대지 (0) | 2025.05.18 |
[백준/JAVA]15894번 수학은 체육과목 입니다 (0) | 2025.05.17 |