코드 그라데이션

[Lv.0] 배열 비교하기 본문

Java/알고리즘

[Lv.0] 배열 비교하기

완벽한 장면 2023. 9. 14. 00:12

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

5점짜리 문제

 

문제 설명

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

  • 두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 큽니다.
  • 배열의 길이가 같다면 각 배열에 있는 모든 원소의 합을 비교하여 다르다면 더 큰 쪽이 크고, 같다면 같습니다.

두 정수 배열 arr1과 arr2가 주어질 때, 위에서 정의한 배열의 대소관계에 대하여 

arr2가 크다면 -1, arr1이 크다면 1, 두 배열이 같다면 0을 return 하는 solution 함수를 작성해 주세요.

 

제한사항

 

입출력 예

 

입출력 예 설명

 

아이디어

  • 1. 배열의 길이 비교
    2. 원소의 합 비교
  • 하나를 고정시켜놓고 돌리는 게 아니기 때문에 중첩 for문은 필요 없다.

 

나의 코드

class Solution {
  public int solution(int[] arr1, int[] arr2) {
    int answer1 = 0;
    int answer2 = 0;
    for (int i = 0; i < arr1.length; i++) {
      answer1 += arr1[i];
    }
    for (int i = 0; i < arr2.length; i++) {
      answer2 += arr2[i];
    }

    if (arr1.length > arr2.length) {
      return 1;
    } else if (arr1.length < arr2.length) {
      return -1;
    } else {
      if (answer1 > answer2) {
        return 1;
      } else if (answer1 < answer2) {
        return -1;
      } else {
        return 0;
      }
    }
  }
}

 

728x90

'Java > 알고리즘' 카테고리의 다른 글

[Lv.0] 양꼬치  (0) 2023.12.28
[Lv.0] 배열 만들기 1  (0) 2023.09.13
[Lv.0] 더 크게 합치기  (0) 2023.07.26
[Lv.0] 마지막 두 원소  (0) 2023.07.16
[Lv.0] 마지막 두 원소  (0) 2023.07.10
Comments