정답 코드
let count = Int(readLine()!)!
var answer = 0
var A: [Int] = []
var B: [Int] = []
let inputNumbers = readLine()!.split(separator: " ").compactMap { Int($0) }
A.append(contentsOf: inputNumbers)
let inputNumber = readLine()!.split(separator: " ").compactMap { Int($0) }
B.append(contentsOf: inputNumber)
A.sort()
B.sort() { $0 > $1 }
for i in 0..<count {
answer += A[i] * B[i]
}
print(answer)
코드 설명
- A를 오름 차 순으로 정렬하고 B는 내림차순으로 정렬 하고 곱했을 때 최소값이 나온다.
https://www.acmicpc.net/problem/1026
'코딩테스트 > 문제풀이-2' 카테고리의 다른 글
[선택] 11650 좌표 정렬하기 [정렬] (0) | 2024.02.08 |
---|---|
[선택] 2750 수 정렬하기 [정렬] (0) | 2024.02.01 |
[선택] 4396 지뢰찾기 [2차원 리스트] (0) | 2024.02.01 |
[선택] 2563 색종이 [이차원 리스트] (1) | 2024.01.31 |
[필수] 1931 회의실 배정 [정렬][그리디] (0) | 2024.01.30 |
[필수] 2630 색종이 만들기 [이차원 리스트][재귀] (1) | 2024.01.30 |