(1) "주어지는 두 면의 길이가 같은" 테스트케이스에 실패
function solution(sides) {
let answer = [];
// (1) 가장 긴 변이 sides 내에서 주어진 경우
let max = (Math.max(...sides))*1;
let min = (sides.filter(num => num !== max))*1;
for (let i=1; i<= (max - (max-min)); i++) {
answer.push(i);
}
// (2) 가장 긴 변이 sides 내에서 주어지지 않은 경우
for (let i=max+1; i<= ((max+min) - 1); i++) {
if (!answer.includes(i)) {
answer.push(i);
}
}
return answer.length;
}
(2) 그냥 sort 로 정렬해서 max, min 값을 구하기로 하였다
function solution(sides) {
let answer = [];
sides = sides.sort((a, b) => b - a);
// (1) 가장 긴 변이 sides 내에서 주어진 경우
let max = sides[0]*1;
let min = sides[1]*1;
for (let i=1; i<= (max - (max-min)); i++) {
answer.push(i);
}
// (2) 가장 긴 변이 sides 내에서 주어지지 않은 경우
for (let i=max+1; i<= ((max+min) - 1); i++) {
if (!answer.includes(i)) {
answer.push(i);
}
}
return answer.length;
}