728x90
public static int solution(int[] sides) {
int answer = 0;
int max = Math.max(sides[0], sides[1]);
int min = Math.min(sides[0], sides[1]);
answer += Math.abs((max-min)-max);
answer += Math.abs((max+min)-(max+1));
return answer;
}
배열의 큰 값과 작은 값을 Math클래스의 max,min함수를 통해 각각 저장해주고
1) max값이 긴변일 겨우 (max-min)-max 로 계산
ex) [11 7]일 경우 max는 11이 되고
제한사항 :가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
참고하면 7+x<x=<11이 되야한다. 5,6,7,8,9,10,11 총 7개가 된다.
2) max와 min을 제외한 나머지 한 변이 긴 변일 경우 (max+min)-(max+1)로 계산
ex) 11+7이 18이고 max값인 11보단 커야하므로 11<x<18 로 12,13,14,15,16,17 총 6개가 된다.
answer = 7 + 6 해서 답은 13
반응형
'CodingTest > Programmers' 카테고리의 다른 글
| Lv.0 몫 구하기 (0) | 2022.11.20 |
|---|---|
| Lv.0 두 수의 차 (0) | 2022.11.20 |
| Lv.0 나머지 구하기 (0) | 2022.11.20 |
| Lv.0 두 수의 곱 (1) | 2022.11.20 |
| Lv.0 나이출력 (0) | 2022.11.20 |
댓글