본문 바로가기

코딩테스트

삼각형의 완성 조건 (1) 프로그래머스 코딩테스트 JAVA

삼각형의 완성 조건 (1) 문제 : 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

 

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        
        int max = sides[0];      
        int maxIndex = 0; 
        int sum = 0; 
        
        // 최대값 구하기
        for (int i=1; i < sides.length; i++) { 
            if (sides[i] > max) {
                max = sides[i]; 
                maxIndex = i; 
            } 
        }
        
        //최대값 아닌 index의 sum 구하기
        for(int i=0; i<sides.length; i++){
            if(i != maxIndex ) sum += sides[i];
        }
        
        // 비교
        if (max < sum) { 
            answer = 1;                        
        } else {
            answer = 2;
        }
        
        return answer;
    }
}

 

다른 사람 풀이 보니까, sort로 엄청 짧게 작성된 것을 봄.. 음...

728x90
300x250