-
[programmers/Swift] 최솟값 만들기Archive/Questions 2022. 4. 28. 19:54728x90
programmers.co.kr - 코딩테스트연습 - Lv 2 - 연습문제 - 최솟값 만들기
Constraints :
- 배열 A, B의 크기 : 1,000 이하의 자연수
- 배열 A, B의 원소의 크기 : 1,000 이하의 자연수
// // Created by Yongwoo Marco on 2022/04/25. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ A:[Int], _ B:[Int]) -> Int { return zip(A.sorted(by: >), B.sorted(by: <)).reduce(0) { $0 + $1.0 * $1.1 } } print(solution([1, 4, 2], [5, 4, 4])) // 29 print(solution([1,2], [3,4])) // 10
How I tried this :
같은 갯수의 두 배열의 각 요소를 모두 곱해서 가장 작은 수가 나오려면작은 수 * 큰 수 형태로 각 요소를 곱하는게 가장 작기 때문에
한쪽 배열은 오름차순 한쪽 배열은 내림차순으로 정렬한 두 배열의 각 요소의 곱으로 만들어봄
다행히 효율성 테스트도 통과했다.
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] 문자열 정수로 바꾸기 (0) 2022.04.29 [programmers/Swift] 두 개 뽑아서 더하기 (0) 2022.04.28 [programmers/Swift] 수박수박수박수박수박수? (0) 2022.04.28 [programmers/Swift] 시저 암호 (0) 2022.04.28 [programmers/Swift] 약수의 합 (0) 2022.04.28