배열 비교하기 : 문제 링크
- 두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 크다.
- 배열의 길이가 같다면 각 배열에 있는 모든 원소의 합을 비교하여 다르다면 더 큰 쪽이 크고, 같다면 같다.
algorithm 헤더의 accumulate() 함수 사용법
- 함수를 사용하려면 numeric 헤더를 include
- 함수 원형
- template<class InputIt, class T>
- T accumulate(InputIt first, InputIt last, T init);
- 주의 사항
- first iterator는 이상이고, last iterator는 미만이다.
- 세번째 인자는 합의 초기값인데, 범위를 초과하는 값을 더할 때 초기값을 잘 설정해줘야 한다.
#include <vector>
#include <numeric>
using namespace std;
int solution(vector<int> arr1, vector<int> arr2) {
int sum1 = 0, sum2 = 0;
if(arr1.size() != arr2.size()) {
return arr1.size() > arr2.size() ? 1 : -1;
}
else {
sum1 = accumulate(arr1.begin(), arr1.end(), 0);
sum2 = accumulate(arr2.begin(), arr2.end(), 0);
}
if(sum1 > sum2) return 1;
else if(sum1 < sum2) return -1;
else return 0;
}