[μ€μννΈ μκ³ λ¦¬μ¦] νλ‘κ·Έλλ¨Έμ€: μ΅μκ° λ§λ€κΈ°
λ¬Έμ
https://programmers.co.kr/learn/courses/30/lessons/12941
μ½λ©ν μ€νΈ μ°μ΅ - μ΅μκ° λ§λ€κΈ°
κΈΈμ΄κ° κ°μ λ°°μ΄ A, B λκ°κ° μμ΅λλ€. κ° λ°°μ΄μ μμ°μλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€. λ°°μ΄ A, Bμμ κ°κ° ν κ°μ μ«μλ₯Ό λ½μ λ μλ₯Ό κ³±ν©λλ€. μ΄λ¬ν κ³Όμ μ λ°°μ΄μ κΈΈμ΄λ§νΌ λ°λ³΅νλ©°, λ μλ₯Ό κ³±
programmers.co.kr
λ¬Έμ μ€λͺ
κΈΈμ΄κ° κ°μ λ°°μ΄ 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 ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
νμ΄
μ΅μκ°μ λ§λ€κΈ° μν΄μλ λ μ«μμ κ³±μ μ΅μλ‘ λ§λ€μ΄μΌ νκΈ° λλ¬Έμ, κ°μ₯ ν° μλ₯Ό κ°μ₯ μμ μμ κ³±νλ λ°©μμΌλ‘ μ΅μκ°μ λ§λ€ μ μμ΅λλ€. 그리λνκ² νμͺ½ λ°°μ΄μ κ°μ₯ ν° μλΆν° μ°¨λ‘λλ‘, λ€λ₯Έ ν μͺ½μ κ°μ₯ μμ μλΆν° μ°¨λ‘λλ‘ κ³±ν΄μ£Όλ©° λν©λλ€. κ°λ¨νκ² νλ €μ κ³ μ°¨ν¨μλ₯Ό μ΄μ©ν μμ½λ©λ μλν΄λ³΄μμ΅λλ€.
μ½λ
import Foundation
func solution(_ A:[Int], _ B:[Int]) -> Int {
return zip(A.sorted(by: >), B.sorted(by: <)).reduce(0, { $0 + ($1.0 * $1.1) })
}