백준

백준[14215]번 : 세 막대 ( JAVA )

하루우울루 2023. 3. 22. 17:54

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

 

14215번: 세 막대

첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.

www.acmicpc.net

개발환경은 eclipse를 사용했습니다.

Code

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		int a,b,c;
		int max = -2;
		int sum;
		
		a = sc.nextInt();
		if(a > max) {
			max = a;
		}
		b = sc.nextInt();
		if(max < b) {
			max = b;
		}
		c = sc.nextInt();
		if(max < c) {
			max = c;
		}
		
		sum = a+b+c;
		
		int t = sum - max;
		
		if(max >= t) { // 삼각형이 되기 위한 조건을 만족해야 된다.
			max = t - 1;
		}
		
		int ans = t + max; // 둘레의 길이 저장
		
		System.out.println(ans);
		
		sc.close();

	}

}

삼각형이 되기 위한 조건을 생각해 보면 풀 수 있다.

삼각형이 되기 위해서는 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작아야 한다.