10101번: 삼각형 외우기
문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.
www.acmicpc.net
문제
창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.
삼각형의 세 각을 입력받은 다음,
- 세 각의 크기가 모두 60이면, Equilateral
- 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
- 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
- 세 각의 합이 180이 아닌 경우에는 Error
를 출력하는 프로그램을 작성하시오.
입력
총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.
출력
문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.
풀이
아래의 내용을 그대로 조건문으로 만들면 됩니다.
- 세 각의 크기가 모두 60이면, Equilateral
- 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
- 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
- 세 각의 합이 180이 아닌 경우에는 Error
Tip!
세 각의 합이 180이 아닌 상황을 if문의 가장 위쪽에 넣어주면
나머지 else if문은 자연스럽게 세 각의 합이 180인 상황들이 됩니다.
코드
const input = require("fs").readFileSync("dev/stdin").toString().trim();
const angle = input.split("\n").map((item) => Number(item));
const sumOfAngle = angle[0] + angle[1] + angle[2];
const set_angle = new Set(angle);
if (sumOfAngle !== 180) console.log("Error");
else if (angle[0] === 60 && angle[1] === 60 && angle[2] === 60)
console.log("Equilateral");
else if (angle[0] != angle[1] && angle[0] != angle[2] && angle[1] != angle[2])
console.log("Scalene");
else if (set_angle.size === 2) console.log("Isosceles");
'Programing > 백준' 카테고리의 다른 글
[백준 / nodejs] 14215번 : 세 막대 (0) | 2023.12.25 |
---|---|
[백준 / nodejs] 5073번 : 삼각형과 세 변 (0) | 2023.12.25 |
[백준 / nodejs] 9063번 : 대지 (2) | 2023.12.20 |
[백준 / nodejs] 15894번 : 수학은 체육과목 입니다 (0) | 2023.12.15 |
[백준 / nodejs] 3009번 : 네 번째 (0) | 2023.12.12 |
댓글