2022. 7. 7. 22:10ใCoding Test/BOJ
๐๋ฌธ์ ๋ณด๋ฌ๊ฐ๊ธฐ
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 ๋ฐฐ์ด์ ์ฌ๋ฐฐ์ดํ ์ ์๋ค๋ ํจ๋ํฐ๊ฐ ์์์ต๋๋ค. ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น ๊ณ ๋ฏผํ๋ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ข ์ฐ๊ณ ํด๊ฒฐํ์๋ ์๊ฐ์ผ๋ก ํ์์ต๋๋ค.
- A ๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ค. (์ค๋ฆ์ฐจ์์ผ๋ก ํ๊ณ ์ถ๋ค๋ฉด ๊ทธ๋ ๊ฒ ํด๋ ๋ฉ๋๋ค.)
- for ๋ฌธ์ ํตํด A ๋ฐฐ์ด์ ์์๋ฅผ ํ๋ ๊ฐ์ ธ์ค๊ณ , ์ด ๋ B ๋ฐฐ์ด์ ๊ฐ์ฅ ์์ ์์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฐพ๋๋ค.
- A ๋ฐฐ์ด์ ๋ณต์ฌํ ์๋ก์ด ๋ฐฐ์ด์ ํด๋น ์ธ๋ฑ์ค ์์น์ for๋ฌธ์ ํตํด ๊ฐ์ ธ์จ A ๋ฐฐ์ด ์์๋ฅผ ์ง์ด ๋ฃ๋๋ค.
- ์ฒ๋ฆฌ ์๋ฃ๋ B์ ์์๋ ์ดํ ํ์์์ ์ ์ธ๋๋๋ก ๋ฌดํ๋๋ก ์ฒ๋ฆฌํ๋ค.
- for ๋ฌธ์ ๋ค ๋ ๋๊น์ง 2-4๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
- 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)
'Coding Test > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 10162๋ฒ | ์ ์๋ ์ธ์ง (Python3) (0) | 2022.07.14 |
---|---|
[BOJ] 2217๋ฒ | ๋กํ (Python3) (0) | 2022.07.14 |
[BOJ] 5585๋ฒ | ๊ฑฐ์ค๋ฆ๋ (Python3) (0) | 2022.07.13 |
[BOJ] 1541๋ฒ | ์์ด๋ฒ๋ฆฐ ๊ดํธ (Python3) (0) | 2022.07.12 |
[BOJ] 10026๋ฒ | ์ ๋ก์์ฝ (Python3) (0) | 2022.05.14 |