๋‘ ๋ฐฐ์—ด์˜ ์›์†Œ ๊ต์ฒด(Python ๊ตฌํ˜„)- ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค.

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))