[백준 14215] 세 막대

alsry._.112·2023년 8월 21일
0

백준

목록 보기
30/102

🔗문제 풀러가기
단계별로 풀어보기 단계 10의 8번째 문제이다.

문제 분석

삼각형의 성질인
어느 한 변의 길이가 나머지 두 변의 길이를 합한 것보다 길거나 같을 수 없다.
를 활용하여 문제를 해결하였다.

코드

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

 int main()
 {
     int input[3];

     for (int i = 0; i < 3; i++)
     {
         cin >> input[i];
     }

     sort(input, input + 3);

     if (input[0] + input[1] > input[2])
     {
         cout << input[0] + input[1] + input[2];
     }
     else
     {
         cout << (input[0] + input[1]) * 2 - 1;
     }
 }

해석

  1. 수를 입력받아 오름차순으로 정렬한다.
  2. 어느 한 변의 길이가 나머지 두 변의 길이를 합한 것보다 짧거나 같지 않다면 세 변의 길이를 더 해서 출력한다.
  3. 그렇지 않다면 주어진 세 변으로 삼각형을 만들 수 없으므로 첫번째 변과 두번째 변을 더해 2를 곱한 뒤 -1을 하여 만들 수 있는 가장 큰 둘레를 구하였다.
profile
소통해요

0개의 댓글