본문 바로가기

코테/프로그래머스

[코딩 기초 트레이닝] 배열 비교하기

728x90

[코딩 기초 트레이닝] 배열 비교하기

문제 링크

구분

코딩테스트 연습 > 코딩 기초 트레이닝

풀이 요약

두 배열 arr1, arr2가 주어졌을 때,

두 배열의 길이가 다르면 → arr1이 크다면 1을, arr2가 크다면 -1을 반환

두 배열의 길이가 같을때 → 배열의 요소의 합이 큰쪽이 arr1이면 1을, arr2가 크면 -1을 , 두 배열의 요소의 합이 같으면 0을 반환

나의 풀이

function solution(arr1, arr2) {
    const arr1Sum=arr1.reduce((acc,cur)=>acc+cur,0)
    const arr2Sum=arr2.reduce((acc,cur)=>acc+cur,0)
    
    if(arr1.length===arr2.length){
        if(arr1Sum===arr2Sum) return 0
        return arr1Sum>arr2Sum?1:-1
    }else{
        if(arr1.length===arr2.length) return 0
        return arr1.length>arr2.length?1:-1
    }    
}

 

if-else 조건문과 삼항연산자를 활용하여 가독성을 높이려고 했습니다.

또한, reduce 메서드를 이용하여 초기값을 0으로 설정하고 요소의 모든 값을 더하는데 사용했습니다.

728x90