이 문제에서 두 정수 배열의 대소관계를 다음과 같이 정의합니다.
두 정수 배열 arr1과 arr2가 주어질 때, 위에서 정의한 배열의 대소관계에 대하여 arr2가 크다면 -1, arr1이 크다면 1, 두 배열이 같다면 0을 return 하는 solution 함수를 작성해 주세요.
function solution(arr1, arr2) {
if (arr1.length !== arr2.length) {
return arr1.length > arr2.length ? 1 : -1;
} else {
const sum1 = arr1.reduce((a, c) => a + c);
const sum2 = arr2.reduce((a, c) => a + c);
if (sum1 !== sum2) {
return sum1 > sum2 ? 1 : -1;
} else {
return 0;
}
}
}
우선 배열의 길이를 비교하여 다를 경우, 큰 쪽에 따라 값을 return한다.
배열의 길이가 같을 경우, reduce를 통해 각 배열의 합을 넣은 변수를 만든다.
이 두 수를 비교하여 값이 다를 경우 더 큰 숫자가 있는 쪽에 따라 값을 return한다.
두 수의 값마저 같을 경우 0을 return한다.
평일 내내 진행을 잘 못하다가 오늘 드디어 조금씩 다시 시작하고 있다. 주말까지 온전히 회복하고 다음 주부터 못 한 만큼 더 열심히 달려야할 것 같다.