using System.Text;
namespace BOJ_5073
{
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
HashSet<int> hashSet = new HashSet<int>();
while (true)
{
int[] inputs = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
Array.Sort(inputs);
hashSet.Clear();
foreach (int input in inputs)
{
hashSet.Add(input);
}
if (inputs.All(x => x == 0))
{
break;
}
switch (hashSet.Count)
{
case 1:
sb.AppendLine("Equilateral");
break;
case 2:
sb.AppendLine(IsTriangle(inputs[0], inputs[1], inputs[2]) ? "Isosceles" : "Invalid");
break;
case 3:
sb.AppendLine(IsTriangle(inputs[0], inputs[1], inputs[2]) ? "Scalene" : "Invalid");
break;
}
}
Console.Write(sb);
}
static bool IsTriangle(int a, int b, int c) => a + b > c;
}
}
using System.Text;
namespace BOJ_5073
{
class Program
{
static void Main()
{
StringBuilder sb = new StringBuilder();
while (true)
{
int[] inputs = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
Array.Sort(inputs);
int a = inputs[0];
int b = inputs[1];
int c = inputs[2];
if (inputs.All(x => x == 0))
{
break;
}
if (IsTriangle(a, b, c))
{
if (a == b && b == c)
{
sb.AppendLine("Equilateral");
}
else if (a == b || b == c || c == a)
{
sb.AppendLine("Isosceles");
}
else
{
sb.AppendLine("Scalene");
}
}
else
{
sb.AppendLine("Invalid");
}
}
Console.Write(sb);
}
static bool IsTriangle(int a, int b, int c) => a + b > c;
}
}
처음에 HashSet 자료구조를 이용하여 중복처리를 체크하였다.
HashSet의 크기가 2일때 삼각형의 조건두 변의 길이의 합이 나머지 한 변의 길이보다 커야 한다.
를 체크하지 않아 틀렸다.
수학
구현
기하학