๋ฌธ์ ๐ฝ
https://school.programmers.co.kr/learn/courses/30/lessons/12941
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ค๋ฅธ์ฌ๋ ํ์ด ๐ฝ
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)
}
๋ดํ์ด๐ฝ
function solution(A,B){
var answer = 0;
let array1 = A.sort((a,b)=>{
return a-b;
})
let array2 = B.sort((a,b)=>{
return b-a;
})
A.forEach((value,index)=>{
answer += value*array2[index]
})
return answer;
}
๋๋์ ๐ฎ
sort ๋ฉ์๋์ ๋ํด ๋ค์๊ธ ์๊ธฐํ๋ ์๊ฐ์ ๊ฐ์ง ์ ์์๋ค. sort() ๋ฉ์๋์ ๋ด๋ฆผ์ฐจ์, ์ค๋ฆ์ฐจ์์ ๋ณผ๋๋ง๋ค ํ๊ฐ๋ฆฐ๋ค... ๊ทธ๋๋ง ์ฝ๊ฒ ๊ธฐ์ตํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋๋ค. sort( (a, b) => {return a-b } ) => ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ์์ธ๋ฐ => a๊ฐ ๋ ์์์ b๊ฐ ํฐ ์๋ผ ์๊ฐํ๋ฉด a๊ฐ ๋จผ์ ์ค๊ณ ๊ทธ ๋ค์ b๊ฐ ์จ๋ค, ์ฆ ์ค๋ฆ์ฐจ์์ด๋ค ์ด๋ฐ์์ผ๋ก ์๊ฐํ๋ฉด sort์ ์ค๋ฆ์ฐจ์ ๋ฐฉ๋ฒ์ ๋ ์ ๊ธฐ์ตํ ์ ์๋ค.
ํํธ, ํ์ด์์ reduce๋ผ๋ ๋ฉ์๋๋ฅผ ์๊ฐํ์ง ๋ชปํ๊ฒ ์กฐ๊ธ์ ์์ฝ๋ค. ๊ธฐ์ ์ด๋ ๊ฒ ๋ ๊น์ reduce ๋ฉ์๋ ํ๋ฒ ๋ ๋ณด์
Array.prototype.reduce() - JavaScript | MDN
reduce() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ๋ฆฌ๋์ (reducer) ํจ์๋ฅผ ์คํํ๊ณ , ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํฉ๋๋ค.
developer.mozilla.org