코딩 테스트/백준

백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 10101 삼각형 외우기

devrabbit22 2026. 3. 31. 21:56

이번 문제는 세 각의 크기를 입력받아 삼각형의 종류를 판별하는 문제이다. 세 각의 합이 180도인지 먼저 확인한 뒤, 각의 크기에 따라 Equilateral, Isosceles, Scalene 또는 Error를 출력하면 된다.

조건문에서 여러 값을 동시에 비교해야 하기 때문에, 다중 조건을 활용하면 쉽게 해결할 수 있는 문제이다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3
{
    internal class geometry1
    {
        static void Main(string[] args)
        {
            //백준 10101 삼각형 외우기
            int angleA = int.Parse(Console.ReadLine());

            int angleB = int.Parse(Console.ReadLine());

            int angleC = int.Parse(Console.ReadLine());

            if (angleA == 60 && angleB == 60 && angleC == 60)

            {

                Console.WriteLine("Equilateral");

            }

            else if (angleA + angleB + angleC == 180

            && ((angleA == angleB) || (angleB == angleC) || (angleC == angleA)))

            {

                Console.WriteLine("Isosceles");

            }

            else if (angleA + angleB + angleC == 180

            && (angleA != angleB) && (angleA != angleC) && (angleB != angleC))

            {

                Console.WriteLine("Scalene");

            }

            else if (angleA + angleB + angleC != 180)

            {

                Console.WriteLine("Error");

            }
        }
    }
}

출력 결과

글을 작성하며 코드를 다시 살펴보니, 동일한 연산이 여러 번 사용되고 있는 부분이 있었다. 이러한 경우 해당 값을 변수로 따로 저장해 사용하면 코드의 가독성을 높일 수 있을 것 같다는 생각이 들었다.

세 각의 합을 여러 번 계산하기보다는 sum 변수에 저장하여 사용하는 방식

// 백준 10101 삼각형 외우기
int angleA = int.Parse(Console.ReadLine());
int angleB = int.Parse(Console.ReadLine());
int angleC = int.Parse(Console.ReadLine());

int sum = angleA + angleB + angleC; // 세 각의 합

if (sum != 180)
{
    Console.WriteLine("Error");
}
else if (angleA == 60 && angleB == 60 && angleC == 60)
{
    Console.WriteLine("Equilateral");
}
else if (angleA == angleB || angleB == angleC || angleC == angleA)
{
    Console.WriteLine("Isosceles");
}
else
{
    Console.WriteLine("Scalene");
}