본문 바로가기

Python(알고리즘,문제풀이)/프로그래머스(입문100제)

코딩테스트입문 / 삼각형의 완성조건(2)

728x90

📚문제

출처 : 프로그래머스 / 삼각형의 완성조건(2)(https://school.programmers.co.kr/learn/courses/30/lessons/120868)

 

📝풀이

sides = [11, 7]

# 1) 나머지 한 변이 가장 긴 변인 경우

두변의 합 18보다는 작고 11보다는 큰 변의 개수
11 < x < 18 -> 양쪽 다 등호가 없는 경우에 x 개수를 구하려면 (큰수-작은수-1)
sum(sides)-max(sides)-1

# 2) 둘 중에 한 변이 가장 긴 변인 경우

두변의 차 4보다 크고 11보다 작거나 같은 변의 개수
4 < x <= 11 -> 한쪽에만 등호가 있는 경우엔 (큰 수 - 작은 수)

return max(sidees)-(max(sides)-min(sides))

# 두 가지 경우의 수를 더하기
(sum(sides)-max(sides)-1) + (max(sides)-max(sides)+min(sides))
sum(sides) - max(sides) + min(sides) -1

조금 어렵나 ? 했는데 

문제의 예시처럼 2가지 경우로 나눠서 한 케이스 씩 대입해보니 

깔끔하게 식으로 정리되었다

이런 류의 문제 풀이도 잘 한것 같고

답도 깔끔해서 풀고나서 약간 뿌듯하다

728x90