Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 주어진 세 각도로 양의 넓이를 가진 삼각형을 만들 수 있는지 확인하는 방법

문제 개요

세 개의 각도가 주어졌을 때, 이 각도들로 양의 넓이를 가지는 삼각형을 만들 수 있는지 판별하는 문제입니다.

예를 들어 입력이 a = 40, b = 120, c = 20이라면, 세 각의 합이 40 + 120 + 20 = 180이므로 결과는 True가 됩니다.

해결 접근 방법

이 문제는 다음과 같은 논리로 해결할 수 있습니다.

  • 세 각도 a, b, c가 모두 0이 아니고, 그 합(a + b + c)이 정확히 180인 경우:
    • (a + b) >= c 또는 (b + c) >= a 또는 (a + c) >= b 중 하나라도 만족하면 True를 반환합니다.
    • 그렇지 않으면 False를 반환합니다.
  • 위 조건을 하나라도 만족하지 않으면 False를 반환합니다.

예제 코드

아래 구현 예시를 통해 더 쉽게 이해할 수 있습니다.

def solve(a, b, c):
    if a != 0 and b != 0 and c != 0 and (a + b + c) == 180:
        if (a + b) >= c or (b + c) >= a or (a + c) >= b:
            return True
        else:
            return False
    else:
        return False

a = 40
b = 120
c = 20
print(solve(a, b, c))

입력

40, 120, 20

출력

True

추가 설명

삼각형의 내각의 합은 항상 180도입니다. 따라서 세 각도가 모두 0보다 크고 합이 정확히 180이라면 유효한 삼각형이 성립합니다. 참고로 (a + b) >= c 같은 조건은 '한 각도가 나머지 두 각도의 합보다 크거나 같은가'를 검사하는 것으로, 세 양수의 합이 180일 경우 이 조건은 항상 참이 됩니다. 즉, 실질적으로는 '모든 각도가 0이 아니면서 합이 180인지'가 핵심 판별 기준이라고 볼 수 있습니다.