728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120889
문제)
풀이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
'프로그래밍 > Java(자바)' 카테고리의 다른 글
[프로그래머스] 짝수 홀수 개수 -- java (0) | 2023.12.12 |
---|---|
[프로그래머스] 중복된 숫자 개수 -- java (0) | 2023.12.12 |
[프로그래머스] 양꼬치 -- java (0) | 2023.12.12 |
[프로그래머스] 배열 뒤집기 -- java (0) | 2023.12.12 |
[프로그래머스] 머쓱이보다 키 큰 사람 -- java (0) | 2023.12.11 |