백준

백준 5073번 c#

대왕군 2024. 2. 3. 16:07

 

using System;
using System.Text;

namespace Baekjoon
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //그냥 콘솔창 예쁘게 꾸미는 코드(심심해서 넣음)
            Console.BackgroundColor = ConsoleColor.DarkCyan;

            //결과값 저장할 변수
            StringBuilder sb = new StringBuilder();

            //입력값과 그 입력값을 숫자로 변환해서 저장할 배열
            string[] input = new string[3];
            int[] num = new int[3];

            //무한반복
            while (true)
            {
                //입력값 받아옴
                input = Console.ReadLine().Split();

                //input배열에 있는 입력값을 int형으로 변환하여 num배열에 저장
                for (int i = 0; i < 3; i++)
                {
                    num[i] = int.Parse(input[i]);
                }

                //배열 오름차순으로 정렬
                Array.Sort(num);

                //조건에 따라 반복문 멈추거나 삼각형결과에 맞는값 sb변수에 저장
                if (num[0] == 0 && num[1] == 0 && num[2] == 0)
                {
                    break;
                }
                else if (num[2] >= num[0] + num[1])
                {
                    sb.AppendLine("Invalid");
                }
                else if (num[0] == num[1] && num[0] == num[2])
                {
                    sb.AppendLine("Equilateral");
                }
                else if (num[0] == num[1] || num[0] == num[2] || num[1] == num[2])
                {
                    sb.AppendLine("Isosceles");
                }
                else
                {
                    sb.AppendLine("Scalene");
                }
            }
            //결과 출력
            Console.WriteLine(sb.ToString());

        }

    }
}

 

이번 5073번 문제와 저번 10101번 문제를 풀때 if문이 너무 많아져서 보기에 지저분했었다

 

다른 사람들의 코드를 확인하니 람다식과 Linq방식을 섞어서 사용하여 코드길이를 확줄여놨었다

나도 이참에 람다식과 Linq방식을 배워둬야겠다

'백준' 카테고리의 다른 글

백준 14215번 c#  (0) 2024.02.03
백준 10101번 c#  (0) 2024.02.02
백준 9063번 c#  (0) 2024.02.02
백준 15894번 c#  (0) 2024.02.02
백준 3009번 c#  (0) 2024.02.01