https://school.programmers.co.kr/learn/courses/30/lessons/12941
๋ฌธ์ ์ค๋ช
๊ธธ์ด๊ฐ ๊ฐ์ ๋ฐฐ์ด 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 ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ
- ๋ฐฐ์ด A, B์ ํฌ๊ธฐ : 1,000 ์ดํ์ ์์ฐ์
- ๋ฐฐ์ด A, B์ ์์์ ํฌ๊ธฐ : 1,000 ์ดํ์ ์์ฐ์
์ ์ถ๋ ฅ ์
A B answer
[1, 4, 2] | [5, 4, 4] | 29 |
[1,2] | [3,4] | 10 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2A์์ ์ฒซ๋ฒ์งธ ์ซ์์ธ 1, B์์ ๋๋ฒ์งธ ์ซ์์ธ 4๋ฅผ ๋ฝ์ ๊ณฑํ์ฌ ๋ํฉ๋๋ค. (๋์ ๋ ๊ฐ : 4) ๋ค์, A์์ ๋๋ฒ์งธ ์ซ์์ธ 2, B์์ ์ฒซ๋ฒ์งธ ์ซ์์ธ 3์ ๋ฝ์ ๊ณฑํ์ฌ ๋ํฉ๋๋ค. (๋์ ๋ ๊ฐ : 4 + 6 = 10)์ด ๊ฒฝ์ฐ๊ฐ ์ต์์ด๋ฏ๋ก 10์ return ํฉ๋๋ค.
๋ฌธ์ ํ์ด
๋ฐฐ์ด A์ ์์ ์์ ๋ฐฐ์ด B์ ํฐ ์๋ฅผ ์ฐจ๋ก๋ก ๊ณฑํด์ผ ์ต์๊ฐ์ ๋ง๋ค ์ ์๋ค.
๋ด ํด๋ต
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> A, vector<int> B)
{
int answer = 0;
sort(A.begin(), A.end());
sort(B.begin(), B.end());
for(int i = 0; i < A.size(); ++i)
{
answer += (A[i] * B[A.size()-(i+1)]);
}
return answer;
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
programmers / level.2 / ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ(C++) (0) | 2023.01.11 |
---|---|
programmers / level.2 / ์ฌ๋ฐ๋ฅธ ๊ดํธ(C++) (0) | 2023.01.11 |
programmers / level.2 / ์ฐ์ต๋ฌธ์ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ(C++) (0) | 2023.01.08 |
programmers / level.2 / ์ฐ์ต๋ฌธ์ : ์ต๋๊ฐ๊ณผ ์ต์๊ฐ (c++) (0) | 2023.01.06 |
[BOJ2606] ๋ฐ์ด๋ฌ์ค - C++ ํ์ด (0) | 2022.05.24 |