2020. 8. 27. 20:53ใ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค/์ ๋ ฌ
๋ ๋ฐฐ์ด์ ์์ ๊ต์ฒด(Python ๊ตฌํ)- ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค.
๋ฌธ์ : ๋๋น์ด๋ ๋ ๊ฐ์ ๋ฐฐ์ด A์ B๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ ๋ฐฐ์ด์ N๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋ฐฐ์ด์ ์์๋ ๋ชจ๋ ์์ฐ์์ด๋ค. ๋๋น์ด๋ ์ต๋ K๋ฒ์ ๋ฐ๊ฟ์น๊ธฐ ์ฐ์ฐ์ ์ํํ ์ ์๋๋ฐ, ๋ฐ๊ฟ์น๊ธฐ ์ฐ์ฐ์ด๋ ๋ฐฐ์ด A์ ์๋ ์์ ํ๋์ ๋ฐฐ์ด B์ ์๋ ์์ ํ๋๋ฅผ ๊ณจ๋ผ์ ๋ ์์๋ฅผ ์๋ก ๋ฐ๊พธ๋ ๊ฒ์ ๋งํ๋ค. ๋๋น์ด์ ์ต์ข ๋ชฉํ๋ ๋ฐฐ์ด A์ ๋ชจ๋ ์์์ ํฉ์ด ์ต๋๊ฐ ๋๋๋ก ํ๋ ๊ฒ์ด๋ฉฐ, ์ฌ๋ฌ๋ถ์ ๋๋น์ด๋ฅผ ๋์์ผ ํ๋ค.
N, K, ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด A์ B์ ์ ๋ณด๊ฐ ์ฃผ์ด์ก์ ๋, ์ต๋ K๋ฒ์ ๋ฐ๊ฟ์น๊ธฐ ์ฐ์ฐ์ ์ํํ์ฌ ๋ง๋ค ์ ์๋ ๋ฐฐ์ด A์ ๋ชจ๋ ์์์ ํฉ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด N = 5, K = 3์ด๊ณ ๋ฐฐ์ด A์ B๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๊ณ ํ์.
- ๋ฐฐ์ด A = [1, 2, 5, 4, 3]
- ๋ฐฐ์ด B = [5, 5, 6, 6, 5]
์ด ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ธ ๋ฒ์ ์ฐ์ฐ์ ์ํํ ์ ์๋ค.
- ๋ฐฐ์ด A์ ์์ '1'๊ณผ ๋ฐฐ์ด B์ ์์ '6'์ ๋ฐ๊พธ๊ธฐ
- ๋ฐฐ์ด A์ ์์ '2'์ ๋ฐฐ์ด B์ ์์ '6'์ ๋ฐ๊พธ๊ธฐ
- ๋ฐฐ์ด A์ ์์ '3'๊ณผ ๋ฐฐ์ด B์ ์์ '5'๋ฅผ ๋ฐ๊พธ๊ธฐ
์ธ ๋ฒ์ ์ฐ์ฐ ์ดํ ๋ฐฐ์ด A์ ๋ฐฐ์ด B์ ์ํ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ๊ฒ์ด๋ค.
- ๋ฐฐ์ด A = [6, 6, 5, 4, 5]
- ๋ฐฐ์ด B = [3, 5, 1, 2, 5]
์ด๋ ๋ฐฐ์ด A์ ๋ชจ๋ ์์์ ํฉ์ 26์ด ๋๋ฉฐ, ์ด๋ณด๋ค ๋ ํฉ์ ํฌ๊ฒ ๋ง๋ค ์๋ ์๋ค. ๋ฐ๋ผ์ ์ด ์์์ ์ ๋ต์ 26์ด ๋๋ค.
์ ๋ ฅ ์กฐ๊ฑด
-์ฒซ ๋ฒ์งธ ์ค์ N, K๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ ๋ ฅ๋๋ค. (1<=N<=100,000, 0<=K<=N)
-๋ ๋ฒ์งธ ์ค์ ๋ฐฐ์ด A์ ์์๋ค์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ ๋ ฅ๋๋ค. ๋ชจ๋ ์์๋ 10,000,000๋ณด๋ค ์์ ์์ฐ์์ด๋ค.
-์ธ ๋ฒ์งธ ์ค์ ๋ฐฐ์ด B์ ์์๋ค์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ ๋ ฅ๋๋ค. ๋ชจ๋ ์์๋ 10,000,000๋ณด๋ค ์์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ ์กฐ๊ฑด
-์ต๋ K๋ฒ์ ๋ฐ๊ฟ์น๊ธฐ ์ฐ์ฐ์ ์ํํ์ฌ ๋ง๋ค ์ ์๋ ๋ฐฐ์ด A์ ๋ชจ๋ ์์์ ํฉ์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
n,k = map(int, input().split())
a= list(map(int,input().split()))
b= list(map(int, input().split()))
a.sort()
b.sort(reverse = True)
for i in range(k):
if a[i] < b[i]:
a[i],b[i] = b[i],a[i]
else :
break
print(sum(a))
'์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค > ์ ๋ ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋ ฌ ๋ฌธ์ (์ฑ์ ์ด ๋ฎ์ ์์๋ก ํ์ ์ถ๋ ฅํ๊ธฐ)-Python (0) | 2020.08.27 |
---|---|
์์์ ์๋๋ก(์ ๋ ฌ ๋ฌธ์ )-Python (0) | 2020.08.27 |
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ์ฌ (0) | 2020.08.26 |