두 배열의 원소 교체 : 정렬

주리·2022년 12월 7일
0

코테_정렬

목록 보기
3/3
post-thumbnail

두 배열의 원소 교체

로직

  1. n,k를 입력받는다
    n = 리스트 원소의 수
    k = 최대 교환 가능 횟수
  2. list A,B를 n개만큼 입력받는다
  3. A오름차순 , B 내림차순으로 sorted 정렬한다
  4. for문을 돌면서 A[i] < B[j] 면 교환한다
    교환 시 next +=1 해준다
  5. next가 k가 되면 끝
  6. A 를 합친 값을 print 해준다

코드

n,k = map(int,input().split())

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

A = sorted(A)
B = sorted(B,reverse=True)

next=0

for i in range(n):
  for j in range(n):
    if next==k : 
      break
    
    if A[i]<B[j]:
      #a = A[i]
      #A[i] = B[j]
      #B[j] = a
      A[i],B[j] = B[j],A[i]
      # 다른 리스트끼리도 스와프(swap)가 가능하다 
      
      next+=1

print(sum(A))


swap(스와프)

swap = 두 변수의 값을 바꾸는 것
a,b = b,a

리스트에서는

A[i], A[j] = A[j],A[i] 

로 사용했는데,
다른 리스트에서도 사용이 가능하다

A[i], B[j] = B[j],A[i] 
profile
완벽한 글 보다, 그 과정들을 기록하는 개발자

0개의 댓글