프로그래머스 - 코딩테스트

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

Denny Code 2023. 1. 24. 00:37


정답 1

해당 문제를 처음 봤을때 들었던 생각은 어렵다였다. 문제를 보면서 답을 구상하는 도중 reduce 라는 개념이 떠올랐다. JavaScript 로 주로 개발을 하다 보니 reduce 라는 개념이 떠오른 것이다. 찾아보니 IntStream 에도 reduce 라는 개념이 있었다. 그래서 적용해보기로 하였다. IntStream 을 연습해보고싶어 답을 조금 복잡하게 도출해 낸 느낌이 없지 않아 있다.. 그래도 재밌었다.

import java.util.Arrays;
import java.util.stream.IntStream;

class Solution {
    public int solution(int[] sides) {
        Arrays.sort(sides);
        int result = IntStream.of(arr).reduce((x, y) -> x > y ? 1 : x + y).getAsInt();
        return result > 1 ? 2 : 1;
    }
}

사실 간단하게 IntStream 을 사용 안하고 sort 된 배열에서 인덱스 0, 1 번 값의 합을 2번 값에 비교하여 닶을 도출할 수 있는 문제였다.


정답 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;
    }
}