코테/프로그래머스

[프로그래머스/Lv. 0] 삼각형의 완성조건 (1)

imname1am 2023. 1. 23. 13:14
반응형

내 코드

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        
        // Max 길이를 구하고
        int max = sides[0];
        int idx = 0;
        
        for(int i=0 ; i<sides.length ; i++) {
            if(sides[i] > max) {
                max = sides[i];
                idx = i;
            }
        }
        
        // 나머지 두 변 길이 합이랑 비교
        if(idx == 0) {
            if((sides[1]+sides[2]) > max) answer = 1;
            else                          answer = 2;
        }
        else if(idx == 1) {
            if((sides[0]+sides[2]) > max) answer = 1;
            else                          answer = 2;
        }
        else if(idx == 2) {
            if((sides[0]+sides[1]) > max) answer = 1;
            else                          answer = 2;
        }
        
        return answer;
    }
}

나는 max를 직접(?) 구했는데 다른 풀이들은 Arrays.sort()를 이용하셨넴...

나 혼자 굉장히 복잡하고 길게 구한 듯..ㅠ

 

그리고 나머지 두 변 길이 합이랑 비교하는 것도 삼항 연산자로 하면 조금 더 코드 길이가 줄어들 수 있었음.

(answer = sides[0] < sides[1] + sides[2] ? 1 : 2; 이런 식으로)

 

다른 사람 코드

import java.util.Arrays;
class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        Arrays.sort(sides);
        return sides[2] >= sides[0]+sides[1] ? 2 : 1;
    }
}

(참고)

자바 배열 최대값 구하기

 

[JAVA] 자바 배열 최대값 구하기

오늘은 자바 배열에서 최댓값을 구하는 방법에 대해 알아보도록 하겠습니다. 최댓값을 구할 때 요소를 하나씩 차례대로 조사해 보는 것을 스캔이라고 합니다. 하나하나 살펴보도록 하겠습니다.

balmostory.tistory.com

 

반응형