Coding Test

배열 비교하기

GEEEEEEEE

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

 

 

 

- 두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 큽니다.

 

 

 

- 배열의 길이가 같다면 각 배열에 있는 모든 원소의 합과 비교하여 다르다면,

 

 

 

더 큰 쪽이 크고, 같다면 같습니다. 

 

 

 

두 정수 배열 arr1과 arr2이 주어질 때, 위에서 정의한 배열의

 

 

 

대소관계에 대하여 arr2가 크다면 -1,

 

 

 

arr1이 크다면 1, 두 배열이 같다면 0을 

 

 

 

return 하는 solution 함수를 작성해 주세요.

 

 

 

 

 

 

if문을 사용하여 arr1의 개수와 arr2의 개수가 같을 경우,

 

 

 

 

다를 경우를 나누어 분기처리 하였다.

 

 

 

 

하지만, 이는 문제를 풀어낼 수 있는 코드이지만, 간결한 코드는 아니다.

 

 

 

 

더 축약이 가능하다.

 

 

 

배열 내의 멤버들의 합을 비교할 때에는,

 

 

 

 

arr1 내의 멤버 수와 arr2 내의 멤버수가 같을 때만 체크하면 된다.

 

 

 

 

sum1은 arr1 배열내의 멤버들의 합

 

 

 

 

sum2는 arr2 배열내의 멤버들의 합

 

 

 

 

sum1과 sum2가 같을 때에는 0을 리턴하고, 

 

 

 

 

다를 때에는 sum1과 sum2를 비교하는 과정으로 넘어간다. (sum1 > sum2)

 

 

 

 

sum1이 sum2보다 큰 경우 (true), 1을 리턴하고, 아닐 경우 (false) -1을 리턴한다.

 

 

 

 

arr1의 멤버 수와 arr2의 멤버수가 다를 경우에는,

 

 

 

 

arr1.count와 arr2.count을 비교하는

 

 

 

 

과정으로 넘어가서 (arr1.count > arr2.count)

 

 

 

 

 

true일 경우, 1을 리턴하고, false일 경우, -1을 리턴한다.

 

 

'Coding Test' 카테고리의 다른 글

A 강조하기  (0) 2023.08.04
영어가 싫어요  (0) 2023.05.26
0 떼기  (0) 2023.05.26
7의 개수  (0) 2023.05.04
flag에 따라 다른 값 반환하기  (0) 2023.05.04