๋ฌธ์ ์ค๋ช
์๋ ์์ ์ ์ํ์ด ํญ์ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ์๋ ๋๋ผ๊ฐ ์์๋ค. ์ด ๋๋ผ์ ๊ตญ์ ๊น์ง๋ฏผ์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ด๊ณ ํฐ ์๊ธ์ ๊ฑธ์๋ค.
๊ธธ์ด๊ฐ N์ธ ์ ์ ๋ฐฐ์ด A์ B๊ฐ ์๋ค. ๋ค์๊ณผ ๊ฐ์ด ํจ์ S๋ฅผ ์ ์ํ์.
S = A[0]×B[0] + ... + A[N-1]×B[N-1]
S์ ๊ฐ์ ๊ฐ์ฅ ์๊ฒ ๋ง๋ค๊ธฐ ์ํด A์ ์๋ฅผ ์ฌ๋ฐฐ์ดํ์. ๋จ, B์ ์๋ ์๋ ์ฌ๋ฐฐ์ดํ๋ฉด ์ ๋๋ค.
S์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ A์ ์๋ N๊ฐ์ ์๊ฐ ์์๋๋ก ์ฃผ์ด์ง๊ณ , ์ ์งธ ์ค์๋ B์ ์๋ ์๊ฐ ์์๋๋ก ์ฃผ์ด์ง๋ค. N์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , A์ B์ ๊ฐ ์์๋ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ด ์๋ ์ ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ S์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์์
์ ๋ ฅ
5
1 1 1 6 0
2 7 8 3 1
์ถ๋ ฅ
18
๋ด ๋ฌธ์ ํ์ด
import Foundation
let count = Int(readLine()!)!
let A = readLine()!.split(separator: " ").map({Int(String($0))!})
let B = readLine()!.split(separator: " ").map({Int(String($0))!})
var A_sort = A.sorted(by: >)
var B_sort = B.sorted(by: <)
var sum = 0
for _ in 0..<count {
sum += A_sort.removeLast() * B_sort.removeLast()
}
print(sum)
๐ ์ด ๋ฌธ์ ๋ B ๋ฐฐ์ด์ ๊ทธ๋๋ก ๋ฌ์ผํ๋ค๋ ๊ฒ ๋๋ฌธ์ ์ด๋ ต๊ฒ ์๊ฐ๋์๋๋ฐ,,
์๊ฐํด๋ณด๋ ์ด์ฐจํผ ์ต์๊ฐ๋ง ์ถ๋ ฅํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ ๋ฐฐ์ด ๋ชจ๋ ์ ๋ ฌ์ ๋ฐ๊ฟ์ฃผ์ด๋ ์๊ด์๋ค..โ๏ธ
- ํ ๋ฐฐ์ด์ ๊ฐ์ฅ ์์ ๊ฐ์ ๋ค๋ฅธ ๋ฐฐ์ด์ ๊ฐ์ฅ ํฐ ๊ฐ๊ณผ ๊ณฑํด์ฃผ๋ ๊ฒ์ ๋ฐ๋ณตํ๋ฉด ์ต์๋ฅผ ๊ตฌํ ์ ์๋ค.
- ๋ฐ๋ผ์ A๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์, B๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ฌ ์์๋๋ก ๊ณฑํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
- ๋ฌธ์ ๋ง ์ ํ์ ํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์๋ค.
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์์ด๋ฒ๋ฆฐ ๊ดํธ BOJ #1541 (2) | 2021.08.18 |
---|---|
[Swift Algorithm] ATM BOJ #11399 (0) | 2021.08.18 |
[Swift Algorithm] ๋กํ BOJ #2217 (0) | 2021.08.18 |
[Swift Algorithm] ํ์์ค ๋ฐฐ์ BOJ #1931 (0) | 2021.08.18 |
[Swift Algorithm] ๋์ 0 BOJ #11047 (0) | 2021.08.13 |
๋๊ธ