이 문제에서 두 정수 배열의 대소관계를 다음과 같이 정의합니다.
- 두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 큽니다.
- 배열의 길이가 같다면 각 배열에 있는 모든 원소의 합과 비교하여 다르다면,
더 큰 쪽이 크고, 같다면 같습니다.
두 정수 배열 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 |