728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120889

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제)

 

풀이1)

class Solution {
    public int solution(int[] sides) {
        int answer = 0;
        
        int max=sides[0];
        int min=sides[0];
        int center = sides[0];
        
        for(int i=0; i<sides.length; i++){
            if(sides[i]>max){
            	//3개중에서 가장 큰 변의 길이를 저장
                max = sides[i];
            }else if(sides[i]<min){
            	//3변의 길이 중에서 가장 작은 길이를 저장
                min = sides[i];
            }else if(min<sides[i] && max>sides[i]){
            	//3변의 길이 중에서 중간 값 저장
                center = sides[i];
            }
        }
        
        if(max<min+center){
            answer=1;
        }else{
            answer=2;
        }
        
        return answer;
    }
}

 

 

풀이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]? 1 : 2;
    }
}

 

 

Arrays.sort() 메서드는 Java에서 배열을 정렬하는 데 사용되는 메서드입니다. 이 메서드를 사용하면 배열의 요소를 오름차순으로 정렬할 수 있습니다. 정렬은 기본 자료형 배열 및 객체 배열 모두에서 작동합니다.

//오름차순정렬
Arrays.sort(배열이름);

플러스) 내림차순 정렬은 어떻게??

내림차순은 오름차순과 다르게 굉장히 복잡하다...그러니까 그냥 암기하자!!!

// 내림차순 정렬
Arrays.sort(intArray);
intArray = Arrays.stream(intArray).boxed().sorted(Collections.reverseOrder()).mapToInt(Integer::intValue).toArray();

아니면, java8이상 부터 사용가능한 람다식을 이용한 방법이 있다.

// 내림차순 정렬 (Java 8 이상)
Arrays.sort(intArray);
intArray = Arrays.stream(intArray)
                 .boxed()
                 .sorted((a, b) -> b.compareTo(a))
                 .mapToInt(Integer::intValue)
                 .toArray();
728x90