- 첫째 줄에 수열에 속해 있는 수의 개수 N이 주어진다. (1<= N<= 500)
- 둘째 줄부터 N+1 번째 줄까지 N개의 수가 입력된다. 수의 범위는 1 이상 100,000 이하의 자연수
출력 조건 : 입력으로 주어진 수열이 내림차순으로 정렬된 결과를 공백으로 구분하여 출력한다.
n = int(input())
num_list=[]
for _ in range(n):
num_list.append(int(input()))
num_list = sorted(num_list, reverse=True)
for i in num_list:
print(i, end=' ')
- 첫째 줄에 학생 수 N이 입력됨. (1<= N<= 100,000)
- 둘째 줄부터 N+1 번째줄에 학생 이름을 나타내는 문자열 A와 성적을 나타내는 정수 B가 공백으로 구분되어 입력됨. 문자열 A의 길이와 성적은 100이하의 자연수
출력조건 : 모든 학생의 이름을 성적이 낮은 순서대로 출력. (성적이 동일하면 자유롭게 출력)
n = int(input())
list = []
for i in range(n):
name, score = input().split()
list.append((name, int(score)))
list.sort(key=lambda x : x[1])
for i in range(n):
print(list[i][0], end=' ')
n = int(input())
array = []
for i in range(n):
input_data = input().split()
list.append((input_data[0], int(input_data[1])))
array = sorted(array, key=lambda student: student[1])
for student in array:
print(student[0], end=' ')
- 첫째 줄에 N, K가 공백으로 구분되어 입력된다. (1<= N<= 100,000) (1<= 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 = sorted(a)
b = sorted(b, reverse=True)
result = 0
count = 0
for i in range(n):
if a[i] < b[i]:
result += b[i]
count += 1
if count == 3:
break
result += sum(a[count:])
print(result)
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))