개발자/문제풀이 (C언어)
[백준/BOJ] 10101번 삼각형 외우기 (C/C++)
devBB
2023. 6. 9. 19:07
728x90
반응형
백준 온라인 저지(BOJ) 10101번 삼각형 외우기
https://www.acmicpc.net/problem/10101
10101번: 삼각형 외우기
문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.
www.acmicpc.net
* 사용언어 : C언어, C++
1. 문제
3개의 정수를 입력받고 아래 규칙에 따라 출력
2. 풀이
세 수를 입력받고 if ~ else if ~ else 를 이용해서 그대로 출력하면 됩니다.
매우 단순한 문제이지만 조건문의 순서는 조금 고민을 했습니다.
4번째 조건(Error)을 제외한 나머지 규칙에는 모두
'세 각의 합이 180이고,' 이라는 조건이 들어가므로 Error 를 제일 먼저 처리했습니다.
이렇게 구현하면 첫 if 조건에서 a + b + c != 180 을 확인하기 때문에
이후 조건에는 a + b + c == 180 이라는 조건을 넣을 필요가 없습니다.
같은 논리로 정삼각형(Equilateral)은 a == 60 && b == 60 && c == 60 이 아닌
a == b && b == c 로 확인했습니다.
(이미 합이 180 인 것으로 확인된 상태이므로)
3. 코드
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
/*
10101_삼각형 외우기
1112KB 0ms
*/
#include <cstdio>
int main() {
#ifdef _WIN32
freopen("input.txt", "r", stdin);
#endif // _WIN32
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a + b + c != 180) printf("Error\n");
else if (a == b && b == c) printf("Equilateral\n");
else if (a == b || b == c || c == a) printf("Isosceles\n");
else printf("Scalene\n");
return 0;
}
728x90
반응형