[ALGO] Sorting PROBLEM 1
Updated:
문제 1
문제1 풀이
- 리스트 내장 함수 sort 이용
- 파이썬 라이브러리 sorted 사용해도 됨
code
n = int(input())
data = []
for _ in range(n):
data.append(int(input()))
data.sort(reverse = True)
for i in data:
print(i, end=' ')
문제 2
문제2 풀이
- 튜플 형태로 이름과 점수를 저장
- 파이썬 내장 라이브러리 sorted 사용해서 정렬, key값은 lambda 함수로 정의!
code
n = int(input())
data = []
for _ in range(n):
a,b = input().split()
data.append((a,b))
result = sorted(data, key = lambda x: int(x[1]))
for i in result:
print(i[0], end = ' ')
문제 3
문제3 풀이
- k번 반복하는 동안 A의 최솟값과 B의 최댓값을 인덱스 값을 이용해서 swap
code
n,k = map(int, input().split())
data_A = list(map(int, input().split()))
data_B = list(map(int, input().split()))
for _ in range(k):
min_A = data_A.index(min(data_A))
max_B = data_B.index(max(data_B))
data_A[min_A], data_B[max_B] = data_B[max_B], data_A[min_A]
print(sum(data_A))
모범답안
code
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))
[출처] 이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 지음)
Leave a comment