프로그래머스 - 최소값찾기
2020-02-25
최소값찾기
-
이해
- 주어진 두배열의 원소들을 하나씩 곱하여 더한 결과값이 최소의 숫자가 되게 하여라
-
계획
- 제일 작은수와 제일 큰수과 곱하였을때가, 제일 최소의 수가 나오는 경우의 수다
- 두배열의 정렬을 한쪽은 내림차순, 한쪽은 올림차순으로 정렬한다.
- 반복문을 돌아 같은 인덱스의 값을 찾아 곱을 한다음 결과에 담아 리턴한다.
-
실행
describe("최솟값 만들기", () => { it("최종", () => { expect(solution([1, 4, 2], [5, 4, 4])).toEqual(29); }); it("정렬", () => { expect(alignItem([1, 4, 2], [5, 4, 4])).toEqual(29); }); }); const alignItem = (arr1, arr2) => { arr1.sort((a, b) => a - b); arr2.sort((a, b) => b - a); let len = arr1.length; let result = 0; for (let i = 0; i < len; i++) { result += arr1[i] * arr2[i]; } return result; }; const solution = (arr1, arr2) => { return alignItem(arr1, arr2); };
-
반성
- 곱셉이라는 조건을 늦게확인했다.. 제한조건을 잘 확인하자.
- 함수의 리턴 값은 하나의 자료형태이다. 두개를 리턴할수없다. == 배열두개를 리턴하려고 시도했음