๋ฌธ์
์๋ ์์ ์ ์ํ์ด ํญ์ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ์๋ ๋๋ผ๊ฐ ์์๋ค. ์ด ๋๋ผ์ ๊ตญ์ ๊น์ง๋ฏผ์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ด๊ณ ํฐ ์๊ธ์ ๊ฑธ์๋ค.
๊ธธ์ด๊ฐ 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์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
ํ์ด
B๋ฅผ ์ฌ๋ฐฐ์ดํ์ง ๋ง๋ผ๊ณ ๋ ํ์ง๋ง...์ด์ฐจํผ A๋ฅผ ์ฌ๋ฐฐ์ดํ๋ฉด ์๋ฏธ๊ฐ ์์ด์ง๋ค
๊ทธ๋์ ๊ทธ๋ฅ ๋ ๋ค ์ฌ๋ฐฐ์ดํ๋ ๋ฐฉํฅ์ผ๋ก ํ์๋ค.
์ต์๊ฐ์ ๊ณ์ฐํ๋ ค๋ฉด ํ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์, ํ ๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์ดํ๋ฉด ๋๋ค.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n;
// ์
๋ ฅ
cin >> n;
vector<int> A(n);
vector<int> B(n);
for (int i=0; i<n; i++)
cin >> A[i];
for (int i=0; i<n; i++)
cin >> B[i];
// S์ ์ต์๊ฐ : A์ ์ต์๊ฐ * B์ ์ต์๊ฐ + A์ ๋ ๋ฒ์งธ ์ต์๊ฐ * B์ ๋ ๋ฒ์งธ ์ต์๊ฐ + ...
// ์ต์๊ฐ ๊ณ์ฐ : ํ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์, ํ ๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์ดํด์ผ ํจ
sort(A.begin(), A.end());
sort(B.begin(), B.end(), greater<>());
int sum = 0;
for (int i=0; i<n; i++)
sum += A[i]*B[i];
// ์ถ๋ ฅ
cout << sum;
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1946๋ฒ: ์ ์ ์ฌ์ (0) | 2022.06.28 |
---|---|
[๋ฐฑ์ค/C++] 1431๋ฒ: ์๋ฆฌ์ผ ๋ฒํธ (0) | 2022.06.28 |
[๋ฐฑ์ค/C++] 13458๋ฒ: ์ํ ๊ฐ๋ (0) | 2022.06.26 |
[๋ฐฑ์ค/C++] 1316๋ฒ: ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2022.06.26 |
[๋ฐฑ์ค/C++] 1620๋ฒ : ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2021.09.12 |
๋๊ธ