View
[ํ๋ก๊ทธ๋๋จธ์ค] 2๏ธโฃ์ต์๊ฐ ๋ง๋ค๊ธฐ (JAVA)
์ฑ ์ฝ๋ ๊ฐ์ 2023. 2. 24. 15:35๐ก ๋ฌธ์
๊ธธ์ด๊ฐ ๊ฐ์ ๋ฐฐ์ด 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 ํฉ๋๋ค.
๐ก ์ฝ๋
import java.util.*;
class Solution
{
// ์์ ๊ฐ * ํฐ ๊ฐ -> ์ต์ํฉ
public int solution(int []A, int []B)
{
int answer = 0;
int answer2= 0;
//๋ฎ์ ์ซ์๊ฐ ๋จผ์ ์ ํ
PriorityQueue <Integer> lowNumber = new PriorityQueue<>();
PriorityQueue <Integer> highNumber = new PriorityQueue<>(Collections.reverseOrder());
for (int i=0; i<A.length; i++){
//A์ B์ ๊ฐ์ ๋ฃ์
lowNumber.add (A[i]);
highNumber.add(B[i]);
}
for (int i=0; i<A.length; i++){
//A์ B์ ๊ฐ์ ๋นผ์ ๋ํจ
answer +=lowNumber.poll() * highNumber.poll() ;
}
return answer;
}
}
๐ก ๋ณด์ํ ์
- ํจ์จ์ฑ์ ์ํด์๋ PriorityQueue ๋ฅผ ์ฌ์ฉํด์ผํจ
์ฒ์์ A๋ฐฐ์ด๊ณผ B๋ฐฐ์ด์์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋๋ฉด์ ๊ตฌํ๋ ์ค
๊ทผ๋ฐ ๊ฐ ๋ฐฐ์ด์์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ฐจ๋ก๋๋ก ๋ฝ์์ ๊ณ์ฐํ๋ฉด ๋๋ค
๋ฌธ์ ๋ฅผ ๊ฑ ์๋ชป ์ดํดํจ
'์๊ณ ๋ฆฌ์ฆ > ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] 2๏ธโฃ ์นดํซ(JAVA) (0) | 2023.03.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] 2๏ธโฃ ๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ(JAVA) (0) | 2023.03.04 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2๏ธโฃ ๋ฌด์ธ๋ ์ฌํ(JAVA) (0) | 2023.02.24 |
[๋ฐฑ์ค] 14502: ์ฐ๊ตฌ์ (Java) (0) | 2022.10.09 |
[๋ฐฑ์ค] 2023: ์ ๊ธฐํ ์์ (Java) (0) | 2022.10.06 |