๋ฌธ์ ๋งํฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ต์๊ฐ ๋ง๋ค๊ธฐ
๊ธธ์ด๊ฐ ๊ฐ์ ๋ฐฐ์ด A, B ๋๊ฐ๊ฐ ์์ต๋๋ค. ๊ฐ ๋ฐฐ์ด์ ์์ฐ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ๋ฐฐ์ด A, B์์ ๊ฐ๊ฐ ํ ๊ฐ์ ์ซ์๋ฅผ ๋ฝ์ ๋ ์๋ฅผ ๊ณฑํฉ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ฉฐ, ๋ ์๋ฅผ ๊ณฑ
programmers.co.kr
์ ๊ทผ ๋ฐฉ๋ฒ
๋ ๋ฐฐ์ด(A,B)์ ๊ณฑ์ ํฉ์ด ์ต์๊ฐ ๋ ๋ ค๋ฉด A์ ์ต์๊ฐ๊ณผ B์ ์ต๋๊ฐ์ ๊ณ์ํด์ ๊ณฑํ๋ฉด ๋๋ค.
์ฒ์์ ๊ทธ๋ฅ ๋ง์์ด ๊ฐ๋๋๋ก ํ์ด๋ณด์๋ค.
1. A๋ฐฐ์ด์ ์ต๋๊ฐ๊ณผ B๋ฐฐ์ด์ ์ต์๊ฐ์ ๊ณฑํ์ฌ answer์ ๋ด๊ณ
2. A๋ฐฐ์ด๊ณผ B๋ฐฐ์ด์์ ์ฌ์ฉํ ์ต๋๊ฐ๊ณ ์ต์๊ฐ์ ์ ๊ฑฐํจ
ํ์ง๋ง ๋ฐฐ์ด์ ์ค๊ฐ๊ฐ ์ ๊ฑฐ๋ ๊ณ์ํด์ index๋ฅผ ์๋ก ํ ๋นํด์ผํ๊ธฐ ๋๋ฌธ์ O(N)์ผ๋ก ๋นํจ์จ์ ์ด๋ค.
๋ค์ ์ข์ ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ ค A๋ ์ค๋ฆ์ฐจ์์ผ๋ก B๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ๊ณฑํ๋ ๋ฐฉ์์ผ๋ก ํ์๋ค.
// ํจ์จ ์ข์ ํ์ด
function solution(A,B){
var answer = 0;
A.sort((a,b) => a - b);
B.sort((a,b) => b - a);
for(let i = 0; i < A.length; i++){
answer += A[i] * B[i]
}
return answer;
}
// ํจ์จ ๋์ ํ์ด
function solution(A,B){
var answer = 0;
while(A.length > 0){
let aMin = Math.min(...A);
let bMax = Math.max(...B);
let aMinIdx = A.indexOf(aMin);
let bMaxIdx = B.indexOf(bMax);
answer += aMin * bMax;
A.splice(aMinIdx, 1);
B.splice(bMaxIdx, 1);
}
return answer;
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์ค์ ๋๋น ๋ชจ์๊ณ ์ฌ 1์ฐจ 2๋ฒ (0) | 2022.07.13 |
---|---|
[Javascript] ์ค์ ๋๋น ๋ชจ์๊ณ ์ฌ 1์ฐจ 1๋ฒ (0) | 2022.07.13 |
[Javascript] ์ค ์๋ ๋ฐฉ๋ฒ (12936) (0) | 2022.06.25 |
[Javascript] ์ ํ์ ์๊ฐ ์ด๋ (12980) (0) | 2022.06.25 |
[Javascript] 3 x n ํ์ผ๋ง (12902) (0) | 2022.06.25 |