# [JAVA] 배열 비교하기

> 이 문제에서 두 정수 배열의 대소관계를 다음과 같이 정의합니다.

> 두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 큽니다.
> 배열의 길이가 같다면 각 배열에 있는 모든 원소의 합을 비교하여 다르다면 더 큰 쪽이 크고, 같다면 같습니다.
> 두 정수 배열 arr1과 arr2가 주어질 때, 위에서 정의한 배열의 대소관계에 대하여 arr2가 크다면 -1, arr1이 크다면 1, 두 배열이 같다면 0을 return 하는 solution 함수를 작성해 주세요.

---

### ◇ 내 답변

```
import java.util.*;

class Solution {
    public int solution(int[] arr1, int[] arr2) {
        int answer = 0;
        
        if (arr1.length == arr2.length) {
            if (Arrays.stream(arr1).sum() > Arrays.stream(arr2).sum()) {
                return 1;
            } else if (Arrays.stream(arr1).sum() < Arrays.stream(arr2).sum()) {
                return -1;
            }
        } else if (arr1.length > arr2.length) {
            return 1;
        } else {
            return -1;
        }
        
        return answer;
    }
}
```

너무 더러움

### ◇ 다른 답변

```
import java.util.stream.IntStream;

class Solution {
    public int solution(int[] arr1, int[] arr2) {
        int answer = Integer.compare(arr1.length, arr2.length);

        if(answer == 0) {
            answer = Integer.compare(IntStream.of(arr1).sum(), IntStream.of(arr2).sum());
        }

        return answer;
    }
}
```

다른 사람 코드.

1. Integer.compare: 인자로 넘긴 정수 둘 비교해서 좌측값 크면 1, 우측값 크면 -1, 같으면 0

2. IntStream은 모르겠다. 날잡고 stream 공부 해야할듯

For the site tree, see the [root Markdown](https://slashpage.com/%EB%AC%B4%EB%91%A5-rypb2.md).
