/* 삼각형의 완성조건 (2)
* 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
* 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
* 삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.
* 나머지 한 변이 될 수 있는 정수의 개수를 return
*
* sides result
* [1, 2] 1 두 변이 1, 2 인 경우 삼각형을 완성시키려면 나머지 한 변이 2
* [3, 6] 5
* 가장 긴 변이 6인 경우, 될 수 있는 나머지 한 변은 4, 5, 6 로 3개
* 나머지 한 변이 가장 긴 변인 경우, 될 수 있는 한 변은 7, 8 로 2개
* [11, 7] 13
* 가장 긴 변이 11인 경우, 나머지 한 변은 5, 6, 7, 8, 9, 10, 11 로 7개입니다.
* 나머지 한 변이 가장 긴 변인 경우, 한 변은 12, 13, 14, 15, 16, 17 로 6개
*/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import java.util.*; public class programmer_0_86 { static int[] a1 = {1, 2}; static int[] a2 = {3, 6}; static int[] a3 = {11, 7}; public int solution(int[] sides) { int answer = 0; Arrays.sort(sides); for(int i = 1; i <= sides[1]; i++){ if(i + sides[0] > sides[1]) answer++; } //나머지 한변이 가장 긴 경우, for(int i = sides[1] + 1; i < (sides[0] + sides[1]); i++){ answer++; } return answer; } public static void main(String args[]){ programmer_0_86 t = new programmer_0_86(); // System.out.println("---------------------------------------"); // System.out.println("result = " + t.solution(a1)); System.out.println("---------------------------------------"); System.out.println("result2 = " + t.solution(a2)); System.out.println("---------------------------------------"); System.out.println("result3 = " + t.solution(a3)); System.out.println("---------------------------------------"); } } | cs |