주 1회 회사 동기들이랑 알고리즘 스터디를 진행하고 있다.
현재 진행하고 있는 스터디는 오프라인 코딩테스트로도 많이 활용하고 있는 Codility.
각자 풀고 자기가 푼 소스를 리뷰하는 형식인데, 뜻 깊고 보람도 있고 참으로 도움이 많이 된다 :)
뛰어나진 않지만 각 단원 별로 100% 만들기 위해 노력 중이고, 기록 및 공유하기 위해 글을 작성한다.
바로가기 >Codility >Triangle
문제 해석 : 배열에 있는 원소값이 삼각형이 될 수 있는 조건이면 1 리턴, 아니면 0 리턴하는 문제
문제 풀이 : 그냥 단순하게 반복문 돌려서 조건체크만 했다.. :)
요고 핵심은 삼각형이 될 수 있는 조건인 "a + b > c" 를 알아야 된다.. 🌝
import java.util.*;
class Solution {
public int solution(int[] A) {
/**
* 결국은 3개 값이 비슷해야된다는 뜻
*/
Arrays.sort(A);
int rtnValue = 0;
for (int i=0; i<A.length-2; i++) {
boolean diff1 = (double)A[i] + A[i+1] > A[i+2];
boolean diff2 = (double)A[i+1] + A[i+2] > A[i];
boolean diff3 = (double)A[i+2] + A[i] > A[i+1];
// 조건 만족하면 1 리턴.
if ( diff1 && diff2 && diff3) {
rtnValue = 1;
}
}
return rtnValue;
}
}
반응형
'Self Dev. > Codility' 카테고리의 다른 글
[Codility] Brackets 100% (0) | 2019.09.08 |
---|---|
[Codility] Distinct 100% (0) | 2019.09.08 |
[Codility] MaxProductOfThree 100% (0) | 2019.09.08 |
[Codility] MinAvgTwoSlice 100% (0) | 2019.09.08 |
[Codility] PassingCars 100% (0) | 2019.09.08 |
댓글