공부하기/백준

[Java] 백준 풀기 5073 - 삼각형과 세 변

XEV 2023. 8. 3. 23:47

자바 백준 5073번

브론즈 3

https://www.acmicpc.net/problem/5073

 

5073번: 삼각형과 세 변

각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 구현, 기하학

 

 

 

 

 

문제 풀기

문제에서 주어진 조건에 맞춰 분기한다.

 

입력이 0 0 0 일 경우 while loop를 종료하고, 그렇지 않은 경우 가장 긴 변을 뺀 나머지 두 변의 합이 가장 긴 변보다 큰지 확인하여 삼각형을 판단한다.

세 변이 같을때, 두 변만 같을때, 그리고 아무것도 해당하지 않는 경우를 나누어 해당 내용을 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while (true) {
            int side1 = sc.nextInt();
            int side2 = sc.nextInt();
            int side3 = sc.nextInt();
            
            // 입력이 0 0 0인 경우 종료
            if (side1 == 0 && side2 == 0 && side3 == 0) {
                break;
            }
            
            // 가장 긴 변의 길이 구하기
            int maxSide = Math.max(Math.max(side1, side2), side3);
            
            // 삼각형 조건을 만족하는지 확인
            if (maxSide < side1 + side2 + side3 - maxSide) {
                if (side1 == side2 && side2 == side3) {
                    System.out.println("Equilateral");
                } else if (side1 == side2 || side2 == side3 || side1 == side3) {
                    System.out.println("Isosceles");
                } else {
                    System.out.println("Scalene");
                }
            } else {
                System.out.println("Invalid");
            }
        }
    }
    
}