dev/algorithm
BOJ / 1026λ² / 보물 [Go][Python3]
crscnt
2021. 3. 3. 21:00
π©π»π» λ¬Έμ
1026λ²: 보물
첫째 μ€μ Nμ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€μλ Aμ μλ Nκ°μ μκ° μμλλ‘ μ£Όμ΄μ§κ³ , μ μ§Έ μ€μλ Bμ μλ μκ° μμλλ‘ μ£Όμ΄μ§λ€. Nμ 50λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄κ³ , Aμ Bμ κ° μμλ 100λ³΄λ€ μκ±°
www.acmicpc.net
βπ» νμ΄
π¨ Go
// https://www.acmicpc.net/problem/1026
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var n int
fmt.Fscanln(reader, &n)
var a = make([]int, n)
var b = make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscanf(reader, "%d ", &a[i])
}
for i := 0; i < n; i++ {
fmt.Fscanf(reader, "%d ", &b[i])
}
sort.Ints(a)
sort.Slice(b, func(i, j int) bool {
return b[i] > b[j]
})
var result int
for i := 0; i < n; i++ {
result += a[i] * b[i]
}
fmt.Fprintln(writer, result)
}
π¨ Python3
# https://www.acmicpc.net/problem/1026
import sys
if __name__ == "__main__":
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
b = list(map(int, sys.stdin.readline().split()))
a.sort()
b.sort(reverse=True)
result = 0
for i in range(n):
result += a[i]*b[i]
print(result)
728x90