[백준 10101] 삼각형 외우기 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
세 각을 통해 삼각형이 가능한지 판단하고, 각의 크기에 따라 삼각형의 종류를 분류하는 문제입니다.
- 세 각의 크기를 입력받고, 그 합이
180
도가 아니면 삼각형이 될 수 없습니다. - 삼각형이 될 수 있는 경우, 각의 크기에 따라 다음과 같이 분류합니다:
- 세 각이 모두
60
도이면Equilateral
- 두 각이 같으면
Isosceles
- 세 각이 모두 다르면
Scalene
- 세 각이 모두
접근법
- 세 각을 입력받아 합을 계산합니다.
- 세 각의 합이
180
이 아니라면"Error"
를 출력합니다. - 세 각이 모두
60
도이면"Equilateral"
- 두 각이 같으면
"Isosceles"
- 모두 다르면
"Scalene"
을 출력합니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
class Program {
static void Main() {
var a = int.Parse(Console.ReadLine());
var b = int.Parse(Console.ReadLine());
var c = int.Parse(Console.ReadLine());
if (a + b + c != 180)
Console.WriteLine("Error");
else if (a == 60 && b == 60 && c == 60)
Console.WriteLine("Equilateral");
else if (a == b || b == c || a == c)
Console.WriteLine("Isosceles");
else
Console.WriteLine("Scalene");
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int f, s, t; cin >> f >> s >> t;
if (f + s + t != 180) cout << "Error\n";
else {
if (f == 60 && s == 60 && t == 60) cout << "Equilateral\n";
else {
if (f == s || f == t || s == t) cout << "Isosceles\n";
else cout << "Scalene\n";
}
}
return 0;
}