코딩테스트

프로그래머스 레벨0 삼각형의 완성조건 (2)

choyou831 2024. 4. 13. 14:54

이 문제의 상황을보고 한 생각은 크게 경우를 두가지로 나누어야겠다고 생각했다

sides에 있는 원소가 가장 큰경우,아닌 경우를 나눠서 풀어야겠다.

def solution(sides):
    answer = 0
    sides_sort = sorted(sides)
    for i in range(sides_sort[1] + 1):
        if i + sides_sort[0] >= sides_sort[1] and i != sides_sort[1]:
            answer += 1
    for i in range(sides_sort[1]+1,sides_sort[0]+sides_sort[1]):
            answer += 1
    return answer

첫번째:sides의 원소가 삼각형중 가장 긴 길이일때

위의 코드를 보면 먼저 sides를 정렬하고, for문을 통해 가장 작은 sides값과 i 를 더해서 sides에서 가장 큰값보다 

크게 된다면 삼각형의 조건을 만족시키고,그리고 sides_sort[1]이 i가 된다면 for문을 종료한다면 된다고 생각했다

 

두번째:sides의 두 원소가 삼각형중 가장 긴변이 아닐때

for문을 통해 가장 긴변의 길이가 다른 두변보다 작을때의 상황의 범위로 적어주면 크게 문제없이 구할수있다.

 

느낀점:없음!