[Programmers] 삼각형의 완성조건1/ 배열 정렬하기

dlrmawn·2023년 12월 9일
0

Java

목록 보기
12/16

🔍 문제

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

  • 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
    삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

📄 입출력 예


⚙️ 정답코드

import java.util.*;

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        Arrays.sort(sides);
        
        for(int i = 0; i < sides.length; i++){
            if(sides[0] + sides[1] >sides[2]){
                answer = 1;
            }else {
                answer = 2;
            }
        }    
        return answer;
    }
}

🤔 풀이

import java.util.*; 를 통해 Arrays를 쓸 수 있게 임포트해주었다.
Arrays.sort(sides)로 sides배열을 오름차순으로 배치해준다.
오름차순이기에 가장 큰 값은 배열에 마지막에 위치하고,
큰 값은 작은 두 값의 합보다 작아야한다.



Arrays.sort()

Int배열을 인자로 전달하면 기본적으로 오름차순 정렬된다.
함수 내에서 변수의 순서를 변경해주기에 리턴값에 대한 별도의 할당이 필요없다.

  • 내림차순
    sort()의 인자에 추가로 Collections.reverseOrder()를 전달
Arrays.sort(arr, Collections.reverseOrder());
  • 부분정렬
    범위에 대한 '처음index'값과 '마지막index'값을 부여해준다.
Arrays.sort(arr, 0, 4);
profile
수정해야 할 내용 있으면 메일 부탁드립니다! ⍥

0개의 댓글