C++

[백준 알고리즘] 9366번 : 삼각형 분류, c++

2022. 5. 5. 23:22

https://www.acmicpc.net/problem/9366

 

9366번: 삼각형 분류

입력의 첫 줄에는 테스트케이스의 개수 T(1 <= T <= 100)가 주어진다. 다음 T줄에는 각 줄에 삼각형의 세 변을 나타내는 3개의 정수 A,B,C(1 <= A,B,C <= 1,000,000)가 주어진다.

www.acmicpc.net

c++로 백준 알고리즘 9366번 문제를 풀어보겠다.

 

 

 

 

문제

꿍은 오늘 학교에서 삼각형에 대해 배웠다. 삼각형은 변의 길이에 따라 다음과 같이 분류될 수 있다.

  • 정삼각형(equilateral triangle)은 모든 변의 길이가 같다. 각 역시 60도로 모두 같다.
  • 이등변삼각형(isosceles triangle)은 두 개의 변의 길이가 같다. 각 역시 두 개의 각의 크기가 같다.
  • 부등변삼각형(scalene triangle)은 모든 변의 길이가 같지 않다. 각 역시 모두 다르다. 몇몇 부등변삼각형의 경우 직각삼각형이다.

수학선생님이 삼각형의 세 변의 길이를 가지고 삼각형을 분류하라는 숙제를 내줬는데 꿍은 정말 놀고싶다. 꿍이 놀수있도록 여러분이 도와주어라.

입력

입력의 첫 줄에는 테스트케이스의 개수 T(1 <= T <= 100)가 주어진다. 다음 T줄에는 각 줄에 삼각형의 세 변을 나타내는 3개의 정수 A,B,C(1 <= A,B,C <= 1,000,000)가 주어진다.

출력

각 테스트 케이스에 대해 삼각형이 “equilateral”, “isosceles”, “scalene” 타입 중 어느 타입에 속하는지 출력한다. 만약 주어진 세 변의 길이로 삼각형이 만들어지지 않을경우, “invalid!”를 출력한다.

예제 입력 1 복사

2
3 3 4
6 4 2

예제 출력 1 복사

Case #1: isosceles
Case #2: invalid!

 

 

 

 

<문제 풀이>

1. T를 입력받는다.

2. for문을 T번 반복하며 출력문을 출력한다.

 

- for 반복문 내용 -

숫자 3개를 입력받아 배열에 저장한다.

배열을 오름차순으로 정렬한다.

가장 작은 변과 둘째 변의 합이 셋째변보다 작거나 같다면 "invalid!"를 출력한다.

변이 모두 같은 정삼각형 일때 등 등.. 조건에 맞춰 출력문을 출력한다.

다시 for문을 반복한다.

 

 

코드는 다음과 같다.