๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ
 

1026๋ฒˆ: ๋ณด๋ฌผ

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A์— ์žˆ๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง€๊ณ , ์…‹์งธ ์ค„์—๋Š” B์— ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , A์™€ B์˜ ๊ฐ ์›์†Œ๋Š” 100๋ณด๋‹ค ์ž‘๊ฑฐ

www.acmicpc.net

 

 

๋ฌธ์ œ ์„ค๋ช…

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

 

$$ S = A[0] \times B[0] + ... + A[N-1] \times B[N-1] $$

 

S์˜ ๊ฐ’์„ ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด A์˜ ์ˆ˜๋ฅผ ์žฌ๋ฐฐ์—ดํ•˜์ž. ๋‹จ, B์— ์žˆ๋Š” ์ˆ˜๋Š” ์žฌ๋ฐฐ์—ดํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.
S์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 


์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A์— ์žˆ๋Š” N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง€๊ณ , ์…‹์งธ ์ค„์—๋Š” B์— ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , A์™€ B์˜ ๊ฐ ์›์†Œ๋Š” 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜์ด๋‹ค.

 


์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— S์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 


์˜ˆ์ œ ์ž…์ถœ๋ ฅ

 


ํ’€์ด ์ „๋žต

๋‹จ์ˆœํžˆ ์ˆ˜ํ•™์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ์ž‘์€ ์ˆ˜์™€ ํฐ ์ˆ˜๋ผ๋ฆฌ ๊ณฑํ•˜๋Š” ๊ฒŒ ์ตœ์†Ÿ๊ฐ’์ด ๋  ํ…Œ๋‹ˆ ์–ด๋ ต์ง„ ์•Š์€๋ฐ, B ๋ฐฐ์—ด์„ ์žฌ๋ฐฐ์—ดํ•  ์ˆ˜ ์—†๋‹ค๋Š” ํŒจ๋„ํ‹ฐ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ข€ ์“ฐ๊ณ  ํ•ด๊ฒฐํ•˜์ž๋Š” ์ƒ๊ฐ์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค.

  1. A ๋ฐฐ์—ด์„ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค. (์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.)
  2. for ๋ฌธ์„ ํ†ตํ•ด A ๋ฐฐ์—ด์˜ ์›์†Œ๋ฅผ ํ•˜๋‚˜ ๊ฐ€์ ธ์˜ค๊ณ , ์ด ๋•Œ B ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ฐพ๋Š”๋‹ค.
  3. A ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ํ•ด๋‹น ์ธ๋ฑ์Šค ์œ„์น˜์— for๋ฌธ์„ ํ†ตํ•ด ๊ฐ€์ ธ์˜จ A ๋ฐฐ์—ด ์›์†Œ๋ฅผ ์ง‘์–ด ๋„ฃ๋Š”๋‹ค.
  4. ์ฒ˜๋ฆฌ ์™„๋ฃŒ๋œ B์˜ ์›์†Œ๋Š” ์ดํ›„ ํƒ์ƒ‰์—์„œ ์ œ์™ธ๋˜๋„๋ก ๋ฌดํ•œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  5. for ๋ฌธ์„ ๋‹ค ๋Œ ๋•Œ๊นŒ์ง€ 2-4๋ฒˆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
  6. for ๋ฌธ์„ ๋‹ค ๋Œ์•˜๋‹ค๋ฉด, ์ฒ˜๋ฆฌํ•œ A์™€ B์˜ ๊ฐ ์›์†Œ๋ฅผ ๊ณฑํ•ด ์ „์ฒด ํ•ฉ๊ณ„๋ฅผ ๋‚ธ๋‹ค. 

 


์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ

N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))

A.sort(reverse = True)
tempB = B.copy()
resultA = A.copy()

for elementA in A:
    minElementB = min(tempB)
    idx = tempB.index(minElementB)
    resultA[idx] = elementA
    tempB[idx] = float("inf")
    
del tempB
minSum = 0
for a, b in zip(resultA, B):
    minSum += a * b

print(minSum)

 

728x90
๋ฐ˜์‘ํ˜•