코딩/백준 문제 (브론즈)

[백준/5073/C언어] 삼각형과 세 변 _ 풀이

룻밤 2023. 9. 1. 14:56

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

 

5073번: 삼각형과 세 변

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

www.acmicpc.net


풀이

#include <stdio.h>
int main() {
	int a[3];
	int temp;

	while (1) {
		scanf("%d %d %d", &a[0], &a[1], &a[2]);
		// 0 0 0일때 멈춤
		if (a[0] == 0 && a[1] == 0 && a[2] == 0) break;
		// 정렬
		for (int i = 0; i < 3; i++) {
			for (int j = i; j < 3; j++) {
				if (a[i] < a[j]) {
					temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
			}
		}
		// 나머지 두변이 가장 긴 변을 넘지않으면 안됨
		if (a[0] < a[1] + a[2]) {
			if (a[0] == a[1] && a[1] == a[2]) 
				printf("Equilateral\n");
			else if (a[0] == a[1] || a[1] == a[2] || a[0] == a[2]) 
				printf("Isosceles\n");
			else if (a[0] != a[1] && a[1] != a[2] && a[2] != a[0]) 
				printf("Scalene\n");
		}
		else printf("Invalid\n");
	}

	return 0;
}