Problem ๐Ÿ’ป

https://school.programmers.co.kr/learn/courses/30/lessons/12941

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

๋ฌธ์ œ ์„ค๋ช…

๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๋ฐฐ์—ด 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 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
์ž…์ถœ๋ ฅ ์˜ˆABanswer
[1, 4, 2] [5, 4, 4] 29
[1,2] [3,4] 10
์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1
๋ฌธ์ œ์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
A์—์„œ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž์ธ 1, B์—์„œ ๋‘๋ฒˆ์งธ ์ˆซ์ž์ธ 4๋ฅผ ๋ฝ‘์•„ ๊ณฑํ•˜์—ฌ ๋”ํ•ฉ๋‹ˆ๋‹ค. (๋ˆ„์ ๋œ ๊ฐ’ : 4) ๋‹ค์Œ, A์—์„œ ๋‘๋ฒˆ์งธ ์ˆซ์ž์ธ 2, B์—์„œ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž์ธ 3์„ ๋ฝ‘์•„ ๊ณฑํ•˜์—ฌ ๋”ํ•ฉ๋‹ˆ๋‹ค. (๋ˆ„์ ๋œ ๊ฐ’ : 4 + 6 = 10)
์ด ๊ฒฝ์šฐ๊ฐ€ ์ตœ์†Œ์ด๋ฏ€๋กœ 10์„ return ํ•ฉ๋‹ˆ๋‹ค.


Approach 1 โŒ - ๋‚˜์˜ ์ดˆ๊ธฐ ์ƒ๊ฐ

 

์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ ๊ฐ ์„ธํŠธ์˜ ์ˆ˜๋“ค์ด ๊ณฑํ• ๋•Œ ํ•ญ์ƒ ์ตœ์†Œ๊ฐ€ ๋˜๊ฒ ๋” ๋งŒ๋“ค์–ด์ฃผ๋Š”๊ฒƒ์ด๋‹ค.

์–ด๋–ค ์ˆ˜๋“ค์ด ๊ณฑํ• ๋•Œ ์ตœ์†Œ๊ฐ€ ๋˜๋Š”์ง€๋ฅผ ์ฆ‰, ์–ด๋–ค ์ˆ˜๋“ค๋ผ๋ฆฌ ์„ธํŠธ๋กœ ๋งŒ๋“œ์–ด์„œ ๊ณฑํ•ด์ค˜์•ผ ํ•˜๋Š”์ง€ ๊ฐ์ด ์˜ค์ง€ ์•Š๋Š”๋‹ค.

์ˆ˜ํ•™์  ๊ฐœ๋…์˜ ๋ถ€์กฑ์ธ์ง€ ์ฝ”๋“œ๋กœ ์–ด๋–ป๊ฒŒ ์„ธํŠธ๊ฐ€ ์ตœ์†Œ๊ฐ’์ด ๋˜๊ฒ ๋” ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. 

๋‹ค๋งŒ ๋‚˜๋Š” ๋ฐฐ์—ด์—์„œ ํ•˜๋‚˜์˜ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’๋งŒ ๊ตฌํ•  ์ˆ˜ ์žˆ์„ ๋ฟ์ด๋‹ค. 


Approach 2 โญ• - ๋‚˜์˜ ์ดˆ๊ธฐ ์ƒ๊ฐ์— ๋Œ€ํ•œ ๊ต์ •

1. ๋ฌธ์ œ์˜ ํ•ต์‹ฌ๊ณผ ๋…ผ๋ฆฌ

์ด ๋ฌธ์ œ๋Š” ๋ฐฐ์—ด A์™€ B์˜ ๊ฐ ์›์†Œ๋ฅผ ๊ณฑํ•œ ๊ฐ’๋“ค์˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ๋งŒ๋“œ๋Š” ๋ฌธ์ œ์ด๋‹ค.

ํ•ต์‹ฌ ์‚ฌ๊ณ  ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

1.1 ์ตœ์†Œ๊ฐ’์„ ๋งŒ๋“œ๋Š” ์›๋ฆฌ :

- ์–ด๋–ค ์ˆ˜๋“ค์˜ ๊ณฑ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋ ค๋ฉด ํ•œ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ๋‹ค๋ฅธ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ณฑํ•ด์•ผ ํ•œ๋‹ค- ๋‚˜๋Š” ์ˆ˜ํ•™์  ๊ฐœ๋…์ด ๋ถ€์กฑํ–ˆ๋‹ค. 

- ๋ฐฐ์—ด A๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๋ฐฐ์—ด B๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด ํ•ญ์ƒ ์ตœ์†Œ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.  - ์ฝ”๋“œ๋กœ ํ’€์–ด๋‚ด๋Š” ๊ฐœ๋…๋„ ๋ถ€์กฑํ–ˆ๋‹ค. 

 

1.2 ์™œ ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‘ ๋ฐฐ์—ด A = [1, 3, 5]์™€ B = [2, 4, 6] ์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž.

์ž‘์€ ์ˆ˜๋Š” ํฐ ์ˆ˜์™€ ๊ณฑํ•ด์•ผ ๋” ์ ์€ ์˜ํ–ฅ์„ ์ค€๋‹ค.

๋ฐ˜๋Œ€๋กœ ํฐ์ˆ˜ ๋ผ๋ฆฌ ๊ณฑํ•˜๋ฉด ๊ณฑ์…ˆ ๊ฒฐ๊ณผ๊ฐ€ ๋” ์ปค์ ธ ์ตœ์ ๊ฐ’์„ ์žƒ๊ฒŒ ๋œ๋‹ค. 

์ •๋ ฌํ•œ ํ›„ ๋Œ€์‘ํ•˜๋Š” ์›์†Œ๋ผ๋ฆฌ ๊ณฑํ•ด์ฃผ๋ฉด ์ตœ์†Œ ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 


2.๋ฌธ์ œ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์‚ฌ๊ณ ๋ ฅ์€ ๋ฌด์—‡์ผ๊นŒ?

1. ๋ฌธ์ œ ๋ถ„์„ ๋Šฅ๋ ฅ : 

๊ณฑ์…ˆ ๊ฒฐ๊ณผ๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋ ค๋ฉด ์–ด๋–ค ์›๋ฆฌ(์ •๋ ฌ)์„ ์ ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ฌธ์ œ๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. 

 

2. ์ •๋ ฌ๊ณผ ๋ฐฐ์—ด ํ™œ์šฉ :

๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ ํ›„, ํŠน์ • ๋ฐฉ์‹(์˜ค๋ฆ„์ฐจ์ˆœ/ ๋‚ด๋ฆผ์ฐจ์ˆœ)์œผ๋กœ ์ˆœํšŒํ•˜๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด์•ผ ํ•œ๋‹ค.

 

3. ์ตœ์ ํ™” ์‚ฌ๊ณ  :

์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ๊ณผ์ •์—์„œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ตœ์†Œํ™”ํ•˜๊ฑฐ๋‚˜ ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. 


3. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์‚ฌ๊ณ  ๊ณผ์ •

  3.1 ๋ฌธ์ œ ๋ถ„์„

- ๋‘ ๊ฐœ์˜ ๋ฐฐ์—ด A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

- ๊ฐ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ณฑํ•ด์„œ ์ตœ์†Œ๊ฐ€ ๋˜๊ฒŒ ํ•œ๋‹ค.

- ์š”์†Œ๋ฅผ ์žฌ๋ฐฐ์น˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 3.2 ์ปดํ“จํ„ฐ์  ์‚ฌ๊ณ  ๊ณผ์ •

๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ์šฉ :

ํฐ ์ˆ˜์™€ ์ž‘์€ ์ˆ˜๋ฅผ ๊ณฑํ•ด์•ผ ์ „์ฒด ํ•ฉ์ด ์ตœ์†Œํ™”๋จ. 

์ฆ‰, A์˜ ์ž‘์€ ์ˆ˜์™€ B์˜ ํฐ ์ˆ˜๋ฅผ ๊ณฑํ•˜๋Š” ๋ฐฉ์‹์ด ์ตœ์ ์˜ ํ•ด๊ฐ€ ๋œ๋‹ค. 

 

 3.3  ์ˆ˜ํ•™์  ์ ‘๊ทผ

A๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ, B๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜์—ฌ ์ธ๋ฑ์Šค๋ณ„ ๊ณฑ์…ˆ


 

4. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„

- A๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ.

- B๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

- ๊ฐ™์€ ์ธ๋ฑ์Šค์—์„œ ์š”์†Œ๋ฅผ ๊ณฑํ•˜๊ณ  ๋”ํ•œ๋‹ค.

- ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 


 

 

Solution ๐Ÿ’ก

import java.util.Arrays;

public class Solution {
   public int solution (int[] A, int[] B) {
      // ๋ฐฐ์—ด A๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
      Arrays.sort(A);
      
      // ๋ฐฐ์—ด B๋ฅผ Integer ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ ํ›„ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
      Integer[] BInteger = Arrays.stream(B).boxed().toArray(Integer[]::new);
      Arrays.sort(BInteger, Collections.reverseOrder());
      
      int answer = 0;
      for (int i = 0; i < A.length; i++) {
           // A์˜ ์ž‘์€ ๊ฐ’ * B์˜ ํฐ ๊ฐ’
           answer += A[i] * BInteger[i];
      }
      
      return answer;
      
   }
}

5. ์ฝ”๋“œ ์ž‘์„ฑ์— ํ•„์š”ํ•œ Java ๋ฌธ๋ฒ•

 

 5.1 ๋ฐฐ์—ด ์ •๋ ฌ

Arrays.sort(A); // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
Arrays.sort(B, Collections.reverseOrder()); // ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ (๋‹จ,int[]๋ถˆ๊ฐ€๋Šฅ -> Integer[] ๋ณ€ํ™˜ ํ•„์š”)

 

 

 5.2 ๋ฐฐ์—ด ๋ณ€ํ™˜ (int[] -> Integer[])

Java์˜ Arrays.sort()๋Š” int[]์„ ๋ฐ”๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค. 

Integer[] BInteger = Arrays.stream(B).boxed().toArray(Ingeger[]::new);

์ž๋ฐ”์˜ int[]์€ ๊ธฐ๋ณธํ˜•(primitive type)์ด๋ผ Collections.sort()์—์„œ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•˜๋ ค๋ฉด ๊ฐ์ฒดํ˜•(Integer[])์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

 

   5.2.1 Arrays.stream(B)

๋ฐฐ์—ด B๋ฅผ ์ŠคํŠธ๋ฆผ(stream)์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. Stream์€ ์—ฐ์†๋œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. 

"์—ฐ์†๋œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค"๋Š” ์˜๋ฏธ๋Š” ๋ฌด์—‡์ผ๊นŒ?
 - ์ž๋ฐ”์˜ Stream API๋Š” ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
์ฆ‰, ๋ฐฐ์—ด(List,Set,Map ๋“ฑ ์ปฌ๋ ‰์…˜)์ด๋‚˜ ํŒŒ์ผ, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฝ๊ณ  ๊ฐ€๊ณตํ•˜๋Š” ๊ณผ์ •์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. 

 

 

2025.01.30 - [Java/Breaking down Java code] - [Java] Stream()์€ ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜(List, Set ๋“ฑ)์—์„œ ์ƒ์„ฑํ•˜๋Š” ๋ฉ”์„œ๋“œ.

 

[Java] Stream()์€ ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜(List, Set ๋“ฑ)์—์„œ ์ƒ์„ฑํ•˜๋Š” ๋ฉ”์„œ๋“œ.

“์—ฐ์†๋œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค”๋Š” ์˜๋ฏธ ์ž๋ฐ”์˜ Stream API๋Š” ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.์ฆ‰, ๋ฐฐ์—ด(List, Set, Map ๋“ฑ ์ปฌ๋ ‰์…˜)์ด๋‚˜ ํŒŒ์ผ, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ์ˆœ

yeonbikim.tistory.com

 

  5.3 for๋ฌธ์„ ์ด์šฉํ•œ ๋ˆ„์  ํ•ฉ ๊ตฌํ•˜๊ธฐ

int sum = 0;
for (int i = 0; i < A.length; i++) {
    sum += A[i] * BInteger[i];
}

 


6. ์‹œ๊ฐ„ ๋ณต์žก๋„ ๋ถ„์„

- Arrays.sort(A) -> O(N log N)

- Arrays.sort(B) -> O(N log N)

- ์ตœ์ข…์ ์œผ๋กœ O(N log N)


Reference ๐Ÿ“„ - ์ตœ์ ํ™”(int[] ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ)

Integer[] ๋ณ€ํ™˜์ด ๋ถˆํŽธํ•˜๋ฉด, PriorityQueue๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

import java.util.*;

class Solution {
    public int solution(int[] A, int[] B) {
        Arrays.sort(A); //A ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
        PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
        
        for (int b : B) {
            pq.add(b);
        }
        
        int sum = 0;
        for (int i = 0; i < A.length; i++) {
            sum += A[i] * pq.poll(); //๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ๊ณฑํ•จ
        }
        
        return sum;
      }
    }

 

 

 

 

+ Recent posts