알고리즘 공부/백준 문제풀이
10101_백준 [삼각형 외우기]
yongyongMom
2022. 9. 20. 18:58
SMALL
2022.09.16
브론즈 4
c++ 사용
문제
삼각형의 세 각을 입력받은 다음,
- 세 각의 크기가 모두 60이면, Equilateral
- 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
- 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
- 세 각의 합이 180이 아닌 경우에는 Error
를 출력하는 프로그램을 작성하시오.
입력
-- 총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.
#include<iostream>
using namespace std;
int main() {
int a, b, c; // 삼각형의 세 각을 받음
string result;
cin >> a >> b >> c;
if (a + b + c == 180) {
if (a == b) { // 최소 두 각이 같은 경우
if (a == c) result = "Equilateral"; // 세 각이 같은 경우
else result = "Isosceles"; // 두 각이 같은 경우
}
else if (a == c || b == c) {
result = "Isosceles";
}
else result = "Scalene"; // 세 각이 모두 다른 경우
}
else result = "Error"; // 삼각형이 아닌 경우
cout << result;
}
- 삼각형의 세 각을 입력 받은 후 삼각형의 기본 조건인 세 각의 합이 180인지 확인한다.
- 삼각형의 기본 조건을 만족할 시
1) 두 각이 같은 경우 -> 남은 각도 같으면 정삼각형
2) 다른 경우 -> 일반 삼각형
로 나누어 삼각형 종류를 구분한다. - 삼각형의 기본 조건을 만족하지 않을 시 ERROR를 출력한다.
- result를 출력하면 끄읕 --!--
삼각형을 구분하는 문제이고
정삼각형은 'Equilateral'
이등변 삼각형은 'Isosceles'
일반 삼각형은 'scalene' 이라고 합니다!
(역시 코딩을 하다보면 영어 실력이..크흠..)
반응형
LIST