내풀이
import java.util.stream.IntStream;
class Solution {
public int solution(int[] arr1, int[] arr2) {
return arr1.length>arr2.length ? 1 : arr1.length< arr2.length ? -1 : IntStream.of(arr1).sum() > IntStream.of(arr2).sum() ? 1 : IntStream.of(arr1).sum() < IntStream.of(arr2).sum() ? -1 : 0;
}
}
다른사람풀이
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;
}
}
compare 함수 사용
compare 함수 사용법
@Override public int compare(인자1, 인자2){ if(인자1 > 인자2){ return 1; }else if(인자1 < 인자2){ return -1; }else{ return 0; } }
compareTo 함수 사용법
class Person implements Comparable<Person> {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person other) {
return Integer.compare(this.age, other.age); // 나이 기준으로 비교
}
@Override
public String toString() {
return name + " (" + age + ")";
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person("Alice", 25);
Person p2 = new Person("Bob", 30);
System.out.println(p1.compareTo(p2)); // -1 (25 < 30)
System.out.println(p2.compareTo(p1)); // 1 (30 > 25)
}
}
compare나 compareTo나 비교값의 왼쪽이 크면 1
오른쪽이 크면 -1
같으면 0 이 나온다.