삼각형이 _equilateral_인지, _isosceles_인지, _scalene_인지 판별해요.
equilateral 삼각형은 세 변의 길이가 모두 같아요.
isosceles 삼각형은 적어도 두 변의 길이가 같아요. (정확히 두 변의 길이가 같다고 정의하기도 하지만, 이 연습 문제에서는 적어도 두 변이라고 할게요.)
scalene 삼각형은 모든 변의 길이가 서로 달라요.
어떤 도형이 삼각형이 되려면 모든 변의 길이가 0보다 커야 하고, 임의의 두 변의 길이의 합이 나머지 한 변의 길이보다 크거나 같아야 해요.
_퇴화 삼각형_은 두 변의 길이의 합이 세 번째 변의 길이와 같은 삼각형이에요. 예를 들어 1, 1, 2가 그래요.
이 연습 문제에서는 퇴화 삼각형에 대한 테스트를 넣지 않기로 했어요.
이런 상황을 직접 처리하고 싶다면 처리해도 되고, 그냥 무시해도 괜찮아요.
식을 나타내면 다음과 같아요.
a, b, c를 삼각형의 변이라고 해요.
그러면 다음 세 식이 모두 참이어야 해요.
a + b ≥ c
b + c ≥ a
a + c ≥ b
삼각 부등식을 참고해요.
이 연습 문제에서는 서로 다른 종류의 삼각형을 구별하는 데 사용할 상수 여러 개를 선언해요. 어떤 자료형이 가장 적합할지 생각해서 골라 보고, 테스트를 통과시켜 봐요.
그다음에는 Go의 미리 선언된 식별자 iota에 대해 읽어 보면 좋아요. 이에 관한 훌륭한 설명 글도 있어요.
Exercism에 가입하고 Go 트랙을 개념 35개연습 문제 167개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.