백준 문제풀이

14215 번 : 세 막대

하다블 2023. 4. 28. 18:34
반응형

문제는 다음과 같습니다.

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

 

14215번: 세 막대

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

www.acmicpc.net

 

풀이 코드는 다음과 같습니다.

#include <iostream>
#include <algorithm>
using namespace std;


int main()
{
	int a[3];
	cin>>a[0]>>a[1]>>a[2];
	sort(a,a+3);
	if(a[0]+a[1]>a[2])
		cout<<a[0]+a[1]+a[2];
	else
		cout<<(a[0]+a[1])*2-1;
	
}

아무리 긴 막대가 있어도 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작아야 삼각형을 만들 수 있으므로 조건문으로 확인하여 막대가 너무 길다면 두 변의 길이의 합보다 1 작은 변으로 지정하여 출력하도록 하였습니다.

반응형