선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
sides의 원소는 자연수입니다.
sides의 길이는 2입니다.
1 ≤ sides의 원소 ≤ 1,000
입출력 예 #1
두 변이 1, 2 인 경우 삼각형을 완성시키려면 나머지 한 변이 2여야 합니다. 따라서 1을 return합니다.
입출력 예 #2
가장 긴 변이 6인 경우될 수 있는 나머지 한 변은 4, 5, 6 로 3개입니다.나머지 한 변이 가장 긴 변인 경우될 수 있는 한 변은 7, 8 로 2개입니다.따라서 3 + 2 = 5를 return합니다.
입출력 예 #3
가장 긴 변이 11인 경우될 수 있는 나머지 한 변은 5, 6, 7, 8, 9, 10, 11 로 7개입니다.나머지 한 변이 가장 긴 변인 경우될 수 있는 한 변은 12, 13, 14, 15, 16, 17 로 6개입니다.따라서 7 + 6 = 13을 return합니다.
해설
리스트 [11, 7] 에서 제일 큰 수와 작은 수를 뽑아낸다
가장 긴 변이 11인 경우를 구해야하므로 나머지 한 변은 5, 6, 7, 8, 9, 10, 11 이면 11 - 7 + 1을 하면 5가 되고 가장 큰 수 11까지 범위를 지정하면 되므로
range는 max_int - min_int + 1 부터 max_int + 1이다.
max_int + 1를 하는 이유는 range 범위가 11까지면 -1을 하기 때문에 11까지 세려면 +1을 해줘야한다.
나머지 한 변이 가장 긴 변인 경우는 될 수 있는 한 변은 12, 13, 14, 15, 16, 17이면
range는 max_int + 1 부터 min_int + max_int이다.
여기서 range 마지막 범위를 min_int + max_int + 1을 안하는 이유는 이미 11 + 7이 18이므로 마지막 인덱스가 안세지는 것을 생각하면range는 17까지 세질것이다.
그렇게 구한 cnt와 cnt2 를 더하면 총 변의 개수를 구할 수 있다.
'코테공부' 카테고리의 다른 글
프로그래머스 21일차 - 최댓값 만들기 (2) (0) | 2023.03.08 |
---|---|
프로그래머스 20일차 - 삼각형의 완성조건 (2) (1) | 2023.03.08 |
프로그래머스 18일차 - 외계어 사전 (0) | 2023.03.04 |
프로그래머스 17일차 - 저주의 숫자 3 (0) | 2023.03.03 |
프로그래머스 17일차 - 평행 (0) | 2023.03.03 |