프로그래머스 - 배열 비교하기

JJJ·2023년 4월 20일
0

코딩 기초 트레이닝

목록 보기
10/29

배열 비교하기

문제 설명

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

풀이

class Solution {
    public int solution(int[] arr1, int[] arr2) {
        int answer = 0;
        
        if(arr1.length>arr2.length){
            answer=1;
        }else if(arr1.length<arr2.length){
            answer=-1;
        }
        
        if(arr1.length==arr2.length){
            int a=0;
            int b=0;
            for(int i=0; i<arr1.length; i++){
                a+=arr1[i];
                b+=arr2[i];
                if(a>b){
                    answer=1;
                }else if(a<b){
                    answer=-1;
                }else{
                    answer=0;
                }
            }
        }
        
        return answer;
    }
}

풀이해설

1) if-else if문
: 조건문
2) for문
: 반복문
3) length
: 배열의 길이를 알고자 할때 사용한다.
: length()는 문자열의 길이를 알고자 할 때 사용한다.

배열의 크기 비교를 위해 if-else문을 사용 후
배열의 크기가 같을 때 각 배열의 합을 구하기 위해 for문을 사용

profile
Think Talk Act

0개의 댓글