최대 1 분 소요

문제 링크

풀이 과정Permalink

가장 긴 변의 길이와 나머지 두 변의 길이를 비교하여 삼격형을 판단함.

삼각형일 경우 그대로 모든 변의 길이를 더해서 출력.

삼격형이 아닐 경우 나머지 두 변의 합보다 작은 양의 정수여야 하므로 가장 긴 변의 값을 나머지 두변의 합 - 1로 바꾸고 모든 값을 더함.

즉, 나머지 두 변의 합 - 1 + 나머지 두 변의 합 -> 나머지 두 변의 합*2 - 1

전체 코드Permalink

class Program
{
    static void Main(string[] args)
    {
        string s = Console.ReadLine();
        string[] sArr = s.Split(' ');
        int[] length = new int[3];

        for (int i = 0; i < 3; i++)
        {
            length[i] = int.Parse(sArr[i]);
        }

        int max = length.Max(); // 가장 긴 변의 길이
        int legSum = length[0] + length[1] + length[2] - max; // 가장 긴 변을 제외한 나머지 두변의 길이의 합

        // 삼각형이 아닐 경우 (가장 큰 한 변이 나머지 두 변보다 길 때)
        if (max >= legSum)
        {
            Console.WriteLine(legSum * 2 - 1);
        }
        else // 삼각형일 경우
        {
            Console.WriteLine(length[0] + length[1] + length[2]);
        }

    }
}

댓글남기기