[프로그래머스] Lv.0 배열 비교하기

이다혜·2023년 10월 19일
0

프로그래머스

목록 보기
8/61
post-thumbnail

📎 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/181856

📌 문제 설명

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

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

❓ 풀이 방법

arr1과 arr2의 길이와 원소의 총합을 비교하기 위해 Integer.compare(param1, param2) 메서드를 사용했습니다.
이 메서드는 param1과 param2를 비교하여 param1이 크면 1을, param2가 크면 -1을, 두 매개변수가 같으면 0을 반환합니다.

💻 Code

class Solution {
    public int solution(int[] arr1, int[] arr2) {
        int len1 = arr1.length; 
        int len2 = arr2.length;
        
        if(len1 != len2) return Integer.compare(len1, len2);
        
        int sum1 = 0;
        int sum2 = 0;
            
        for(int n1 : arr1) sum1 += n1;
        for(int n2 : arr2) sum2 += n2;
        
        return Integer.compare(sum1, sum2);
    }
}

0개의 댓글