개발자 바다의 파도

개발의 무인도에 갇혔다

알고리즘 공부/백준 알고리즘

5073 - 삼각형과 세 변 (C++)

개바파 2024. 11. 20. 13:42

문제 - 삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.

     Equilateral: 세 변의 길이가 모두 같은 경우

     Isosceles: 두 변의 길이만 같은 경우

     Scalene: 세 변의 길이가 모두 다른 경우

 

단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid"를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.

 

세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.

 

입력 - 각 줄에는 1,000을 넘지 않는 양의 정수가 3개가 입력된다. 마지막 줄은 0 0 0 이며 이 줄은 계산하지 않는다.

 

출력 - 각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid)를 출력하시오.

 

풀이 - 

 

 

     일단 문제를 읽어보니 정수 a, b, c 값을 입력받을 때 모두가 0이여야 프로그램을 종료하니 9번째 줄에 while(sum !=)으로 조건에 맞게 반복하게 한다. 20번째줄에서 43번째 줄까지 if-else문으로 현재 주어진 3개의 변 길이

가 삼각형을 만들 수 있는지 확인한다. 만약 삼각형을 못 만드는 조건이면 Invalid을 출력하게 한다. 삼각형을 만들 수 있는 조건이면 46번째 줄에서 59번째 줄까지 if-else문으로 어느 삼각형인지 맞춘다. 

 

코드 복붙 주소 - https://github.com/ResToEons/BaekJoonAlgorithm/tree/main/10%20-%20%EA%B8%B0%ED%95%98%20%EC%A7%81%EC%82%AC%EA%B0%81%ED%98%95%EA%B3%BC%20%EC%82%BC%EA%B0%81%ED%98%95/7%20-%20%EC%82%BC%EA%B0%81%ED%98%95%EA%B3%BC%20%EC%84%B8%20%EB%B3%80%20(5073)