

이번 문제는 세 막대의 길이가 주어졌을 때 삼각형이 성립하는지 확인하고,
성립하지 않는 경우에는 변의 길이를 조정하여 만들 수 있는 삼각형 중 최대 둘레를 구하는 문제이다.
삼각형은 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작아야 성립하기 때문에, 이 조건을 만족하도록 가장 긴 변의 길이를 조정해 문제를 해결할 수 있다.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp3
{
internal class geometry1
{
static void Main(string[] args)
{
//백준 14215 세 막대
string[] input = Console.ReadLine().Split();
int lengthA = int.Parse(input[0]);
int lengthB = int.Parse(input[1]);
int lengthC = int.Parse(input[2]);
// 정렬
int[] arr = { lengthA, lengthB, lengthC };
Array.Sort(arr);
// 삼각형 조건 확인 (긴 변 < 나머지 합)
if (arr[2] >= arr[0] + arr[1])
{
arr[2] = arr[0] + arr[1] - 1;
}
// 둘레 출력
Console.WriteLine(arr[0] + arr[1] + arr[2]);
}
}
}


'코딩 테스트 > 백준' 카테고리의 다른 글
| 백준 - [단계별로 풀어보기 시간 복잡도] 24263 알고리즘 수업 - 알고리즘의 수행 시간 2 (0) | 2026.04.02 |
|---|---|
| 백준 - [단계별로 풀어보기 시간 복잡도] 24262 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2026.04.01 |
| 백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 5073 삼각형과 세 변 (0) | 2026.03.31 |
| 백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 10101 삼각형 외우기 (0) | 2026.03.31 |
| 백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 9063 대지 (0) | 2026.03.31 |