๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[C++/๋ฐฑ์ค€] 1026 : ๋ณด๋ฌผ

๋ฌธ์ œ

์˜›๋‚  ์˜›์ ์— ์ˆ˜ํ•™์ด ํ•ญ์ƒ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ์˜€๋˜ ๋‚˜๋ผ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๊ตญ์™• ๊น€์ง€๋ฏผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‚ด๊ณ  ํฐ ์ƒ๊ธˆ์„ ๊ฑธ์—ˆ๋‹ค.

๊ธธ์ด๊ฐ€ 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์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.


์‹ค๋ฒ„4ํ‹ฐ์–ด ๋ฌธ์ œ์ด๋‹ค. ์š”์ฆ˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋งŒ ํ’€๋‹ค๊ฐ€ ์˜ค๋žœ๋งŒ์— ๋ฐฑ์ค€ ํ’€์—ˆ๋Š”๋ฐ

๊ทธ๋ž˜๋„ ๋ฌธ์ œ ๋งŽใ…Ž์ด ํ’€๋‹ค๋ณด๋‹ˆ๊นŒ ๋ฐฑ์ค€ ์‹ค๋ฒ„๋„ ๋ฌด๋‚œํ•˜๊ฒŒ ํ’€๋ฆฌ๋Š”๋“ฏ

๋ฌธ์ œ ์กฐ๊ฑด์ด ์ฒ˜์Œ์—๋Š” ์—ฅ์Šค๋Ÿฌ์› ๋Š”๋ฐ, ๊ทธ๋ƒฅ ์ผ์ผ์ด ๊ณ„์‚ฐํ•  ํ•„์š” ์—†์ด (์˜ค๋ฆ„์ฐจ์ˆœ ๋ฐฐ์—ด * ๋‚ด๋ฆผ์ฐจ์ˆœ ๋ฐฐ์—ด) ํ•˜๋ฉด ์ตœ์†Ÿ๊ฐ’์ด๋ผ๋Š”๊ฑธ ๊นจ๋‹ฌ์•˜๋‹ค

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

bool compare(int i, int j){
    return j < i;
}

int main(){
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    vector<int> v[2];
    int n;
    int k;
    int result = 0;
    cin >> n;
    for (int i = 0; i < 2; ++i){
        for (int j = 0; j < n; ++j){
            cin >> k;
            v[i].push_back(k);
        }
    }
    sort(v[0].begin(), v[0].end());
    sort(v[1].begin(), v[1].end(), compare);
    for (int i = 0; i < n; ++i){
        result += v[0][i] * v[1][i];
    }
    cout << result;
}

โœ๐Ÿป vector ์‚ฌ์šฉ์— ์ต์ˆ™ํ•ด์ง€์ž!!! string๋ณด๋‹ค ์“ฐ๊ธฐ ํŽธํ•˜๋‹ค!

โœ๐Ÿป ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์—๋Š” bool ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ. i์™€ j ๋น„๊ต → j<i ๋ฆฌํ„ดํ•˜๊ธฐ