반응형
[ 문제 ]
영선이는 길이가 a, b, c인 세 막대를 가지고 있고, 각 막대의 길이를 마음대로 줄일 수 있다.
영선이는 세 막대를 이용해서 아래 조건을 만족하는 삼각형을 만들려고 한다.
- 각 막대의 길이는 양의 정수이다
- 세 막대를 이용해서 넓이가 양수인 삼각형을 만들 수 있어야 한다.
- 삼각형의 둘레를 최대로 해야 한다.
a, b, c가 주어졌을 때, 만들 수 있는 가장 큰 둘레를 구하는 프로그램을 작성하시오.
[ 코드 ]
string[] s = Console.ReadLine().Split();
int a = int.Parse(s[0]);
int b = int.Parse(s[1]);
int c = int.Parse(s[2]);
int maxVal = Math.Max(a, Math.Max(b, c));
int minSum = (a + b + c) - maxVal;
if(maxVal < minSum)
{
int result = a + b + c;
Console.Write(result);
}
else
{
for (int i = maxVal; i >= minSum; i--)
{
maxVal--;
}
int result = minSum + maxVal;
Console.Write(result);
}
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/14215
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 1193번 분수찾기 (1) | 2024.02.13 |
---|---|
[C#] 백준 4153번 직각삼각형 (피타고라스의 정리) (2) | 2024.02.13 |
[C#] 백준 9063번 대지 (0) | 2024.02.13 |
[C#] 백준 5073번 삼각형과 세 변 (0) | 2024.02.12 |
[C#] 백준 15894번 수학은 체육과목 입니다. (0) | 2024.02.12 |