1. 문제 상세
https://www.acmicpc.net/problem/10101
2. 문제 접근
입력받은 세 각을 비교하고 조건에 따라 출력하자.
입력받은 세 각을 a, b, c 라고 하자.
a, b, c 가 모두 60으로 같은지 확인(a = b, b = c, a = c, a = 60) 하고 맞다면 Equilateral 을 출력한다.
a + b + c 의 값이 180인지, a 와 b, 또는 a 와 c, 또는 b 와 c 가 같은지 확인하고 맞다면 Isosceles 를 출력한다.
a + b + c 의 값이 180이라면 Scalene 를 출력한다.
모두 아닌 경우 Error 를 출력한다.
3. 문제 풀이
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a == b && b == c && a == c && a == 60) cout << "Equilateral";
else if (a + b + c == 180 && (a == b || b == c || a == c)) cout << "Isosceles";
else if (a + b + c == 180) cout << "Scalene";
else cout << "Error";
}
정수형 변수 a, b, c 를 선언한다.
cin 으로 세 개의 정수(각도)를 입력받아 각각 a, b, c 에 저장한다.
if문으로 a 와 b 와 c 가 같고, a 가 60인지 확인하여 맞다면 Equilateral 을 출력한다.
else if문으로 a + b + c 가 180이고, a 와 b, 또는 a 와 c, 또는 b 와 c 가 같은지 확인하고 맞다면 Isosceles 를 출력한다.
else if문으로 a + b + c 가 180이라면 Scalene 를 출력한다.
그 외의 경우에 cout 으로 Error 를 출력한다.
4. 성능 확인
5. 마무리
.
'백준 - 단계별로 풀어보기 > 기하: 직사각형과 삼각형' 카테고리의 다른 글
[백준] 14215번 : 세 막대 | C++ (0) | 2023.10.26 |
---|---|
[백준] 5073번 : 삼각형과 세 변 | C++ (0) | 2023.10.20 |
[백준] 9063번 : 대지 | C++ (0) | 2023.10.20 |
[백준] 15894번 : 수학은 체육과목 입니다 | C++ (0) | 2023.10.20 |
[백준] 3009번 : 네 번째 점 | C++ (0) | 2023.10.20 |