배열 비교하기 문제
문제를 풀다. 다른 사람의 코드를 보고 새로운 방법을 알게되어 정리해봅니다.
class Solution {
public int solution(int[] arr1, int[] arr2) {
int answer = 0;
int a1 = 0;
int a2 = 0;
if(arr1.length > arr2.length) {
answer = 1;
}
else if(arr2.length > arr1.length) {
answer = -1;
}
else {
for(int i = 0; i < arr1.length; i++) {
a1 += arr1[i];
a2 += arr2[i];
}
if(a1 > a2) {
answer = 1;
}
else if(a2 > a1) {
answer = -1;
}
else{
answer = 0;
}
}
return answer;
}
}
public class Example {
public static void main(String... args) {
// 결과는 -1
System.out.println(Integer.compare(1, 2));
// 결과는 0
System.out.println(Integer.compare(2, 2));
// 결과는 1
System.out.println(Integer.compare(3, 2));
}
}
<, =, >의 순서로 -1, 0, 1의 값이 나옵니다.
class Solution {
public int solution(int[] arr1, int[] arr2) {
int answer = Integer.compare(arr1.length, arr2.length);
int a1 = 0;
int a2 = 0;
if(answer == 0) {
for(int i = 0; i < arr1.length; i++) {
a1 += arr1[i];
a2 += arr2[i];
}
answer = Integer.compare(a1, a2);
}
return answer;
}
}
compare 함수를 통하여 코드를 더 간단하고 가시적으로 만들 수 있었습니다.