jyamethyst21 님의 블로그

프로그래머스 - '삼각형의 완성조건 (1)' (PYTHON 풀이) 본문

CODING 💻

프로그래머스 - '삼각형의 완성조건 (1)' (PYTHON 풀이)

jyamethyst21 2026. 5. 25. 00:38

문제:

 

입력받은 세 변의 길이를 확인해서 삼각형을 만들 수 있다면 1을, 그렇지 않다면 2를 출력하는 문제이다.

 

풀이:

def solution(sides):
    new = sorted(sides, reverse = True)
    
    if new[0] < new[1] + new[2]:
        return 1
    else:
        return 2

삼각형을 만들기 위해서는 세 변 중 가장 큰 값이 나머지 두 변의 값을 더한 값보다 작아야 한다.

즉 a가 가장 긴 값, b, c가 나머지 두 변이라면 'a < b + c'가 성립되어야 삼각형을 만들 수 있다.

 

해당 공식을 활용하여 필자는 sorted 함수를 활용해서 입력받은 배열을 내림차순으로 정렬하고, 정렬 이후 첫 번째 인덱스 값이 가장 큰 값이 되기 때문에, 해당 값과 나머지 두 변의 값을 더한 값을 비교해서 가장 길이가 긴 변이 두 변을 더한 수보다 작으면 1을, 그렇지 않으면 2를 리턴하도록 하였다.