[νλ‘κ·Έλλ¨Έμ€] Lv2: μ΅μκ° λ§λ€κΈ°
λ¬Έμ μ€λͺ
κΈΈμ΄κ° κ°μ λ°°μ΄ A, B λκ°κ° μμ΅λλ€. κ° λ°°μ΄μ μμ°μλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
λ°°μ΄ A, Bμμ κ°κ° ν κ°μ μ«μλ₯Ό λ½μ λ μλ₯Ό κ³±ν©λλ€. μ΄λ¬ν κ³Όμ μ λ°°μ΄μ κΈΈμ΄λ§νΌ λ°λ³΅νλ©°, λ μλ₯Ό κ³±ν κ°μ λμ νμ¬ λν©λλ€. μ΄λ μ΅μ’
μ μΌλ‘ λμ λ κ°μ΄ μ΅μκ° λλλ‘ λ§λλ κ²μ΄ λͺ©νμ
λλ€. (λ¨, κ° λ°°μ΄μμ kλ²μ§Έ μ«μλ₯Ό λ½μλ€λ©΄ λ€μμ kλ²μ§Έ μ«μλ λ€μ λ½μ μ μμ΅λλ€.)
μλ₯Ό λ€μ΄ A = [1, 4, 2] , B = [5, 4, 4] λΌλ©΄
Aμμ 첫λ²μ§Έ μ«μμΈ 1, Bμμ 첫λ²μ§Έ μ«μμΈ 5λ₯Ό λ½μ κ³±νμ¬ λν©λλ€. (λμ λ κ° : 0 + 5(1x5) = 5)
Aμμ λλ²μ§Έ μ«μμΈ 4, Bμμ μΈλ²μ§Έ μ«μμΈ 4λ₯Ό λ½μ κ³±νμ¬ λν©λλ€. (λμ λ κ° : 5 + 16(4x4) = 21)
Aμμ μΈλ²μ§Έ μ«μμΈ 2, Bμμ λλ²μ§Έ μ«μμΈ 4λ₯Ό λ½μ κ³±νμ¬ λν©λλ€. (λμ λ κ° : 21 + 8(2x4) = 29)
μ¦, μ΄ κ²½μ°κ° μ΅μκ° λλ―λ‘ 29λ₯Ό return ν©λλ€.
λ°°μ΄ A, Bκ° μ£Όμ΄μ§ λ μ΅μ’ μ μΌλ‘ λμ λ μ΅μκ°μ return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
μ νμ¬ν
μ μΆλ ₯ μ
a | b | answer |
---|---|---|
[1, 4, 2] | [5, 4, 4] | 29 |
[1,2] | [3,4] | 10 |
function solution(a, b) {
a.sort((a, b) => a - b);
b.sort((a, b) => b - a);
return a.reduce((a, c, i) => a + c * b[i], 0);
}
ꡬν μ κ·Ό
1. λ λ°°μ΄μ λμ λ μ΅μκ°μ ꡬνκΈ° μν΄μ κ°μ₯ μμ κ° * κ°μ₯ ν° κ° μμΌλ‘ λμ΄νμ¬ λμ νλ©΄ λλ€.
2. κ·Έλ¬κΈ° μν΄μ sortλ₯Ό μ΄μ©νμ¬ κ° λ°°μ΄μ μ€λ₯΄, λ΄λ¦Ό μ°¨μμΌλ‘ μ λ ¬
3. reducdeλ₯Ό ν΅ν΄ μΈμλ₯Ό λ°μμ νμ¬μ μμ κ°κ³Ό bλ°°μ΄μ κ°μ₯ ν°κ°μ κ³±ν΄μ λμ° ν΄κ°λ λ°©μ.
λ¬Έμ μ
1. λ λ°°μ΄μ κ°κ° κ³±νμ¬ λμ λ κ°μ΄ μ΅μκ°μ΄ λλ €λ©΄ κ°μ₯ μμ κ° * κ°μ₯ ν° κ°μ νμ¬ λν΄μ€μΌ νλ€λ μ¬μ€.
2. mapμ ν΅νμ¬ λ¬Έμ λ₯Ό ꡬνν΄λ³΄λ € νλλ° μ€ν¨ν μ¬μ€..
3. λκ° μκ°μ λ λ§μ΄ μ νλ κ² κ°μ,,
μ’ λ κ°μ±ν΄μ λ¬Έμ λ₯Ό μ‘°κΈμ΄λΌλ μ€μ€λ‘ νλ € λ Έλ ₯ν΄λ³΄μ.
#1
function getMinSum(A,B){
var answer = 0;
for (var i=0, ii = A.length; i<ii ;i++){
var max = Math.max(...A);
var min = Math.min(...B);
answer += max * min;
A.splice(A.indexOf(max),1);
B.splice(B.indexOf(min),1);
}
return answer;
}
νμ΄
1. for λ¬Έμ λμ A λ°°μ΄μμ κ°μ₯ ν° κ° μΆμΆ
2. B λ°°μ΄μμ κ°μ₯ μμ κ° μΆμΆ
3. answerμ max * min μ κ³±ν κ°μ λμ°
4. splice λ©μλλ₯Ό ν΅ν΄ μΆμΆλ κ°μ΄ μλ λ°°μ΄ μ κ±°ν λ°ν.
splice() λ©μλλ λ°°μ΄μ κΈ°μ‘΄ μμλ₯Ό μμ λλ κ΅μ²΄νκ±°λ μ μμλ₯Ό μΆκ°νμ¬ λ°°μ΄μ λ΄μ©μ λ³κ²½ν©λλ€.
const months = ['Jan', 'March', 'April', 'June']; months.splice(1, 0, 'Feb'); // Inserts at index 1 console.log(months); // Expected output: Array ["Jan", "Feb", "March", "April", "June"] months.splice(4, 1, 'May'); // Replaces 1 element at index 4 console.log(months); // Expected output: Array ["Jan", "Feb", "March", "April", "May"]
ꡬ문
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
λ μ νν μ€λͺ μ ν΄λΉ λ§ν¬λ₯Ό ν΅ν΄ μ΄ν΄λ³΄μ!