프로그래머스/level 2
[프로그래머스] 최솟값 만들기
binaryJournalist
2021. 8. 10. 01:40
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
function solution(A, B){
const a = A.sort((x, y) => x - y);
const b = B.sort((x, y) => y - x);
return a.reduce((acc, curr, index) => acc += curr * b[index], 0);
}
다른 풀이들을 보니까 모두 같은 생각이었나 보다. 아래는 가장 많은 추천을 받은 풀이다.
function solution(A,B){
A.sort((a, b) => a - b)
B.sort((a, b) => b - a)
return A.reduce((total, val, idx) => total + val * B[idx], 0)
}
보니까 sort 의 경우 인스턴스에 리턴값을 받을 필요가 없는 것 같다.
** Python (2021-11-29)
def solution(A,B):
a = sorted(A)
b = sorted(B, key = lambda x : x * -1)
answer = 0
for i in range(len(a)):
answer += a[i] * b[i]
return answer
** Java (2021-11-29)
import java.util.*;
class Solution
{
public int solution(int []A, int []B)
{
Arrays.sort(A);
Arrays.sort(B);
int answer = 0;
for (int i = 0; i < B.length; i++) answer += A[i] * B[B.length - i - 1];
return answer;
}
}
반응형