참고 교재

이것이 코딩테스트다 with 파이썬 (나동빈, 2021)

실전 문제 1 - 위에서 아래로

1
2
3
4
5
6
7
8
n = int(input())
numbers = []

for i in range(n):
numbers.append(int(input()))

for num in sorted(numbers, reverse=True):
print(num, end=' ')

실전 문제 2 - 성적이 낮은 순서로 학생 출력하기

1
2
3
4
5
6
7
8
9
10
n = int(input())
students = []

for i in range(n):
name, score = input().split(' ')
score = int(score)
students.append((name, score))

for student in sorted(students, key=lambda x: x[1]):
print(student[0], end=' ')

실전 문제 3 - 두 배열의 원소 교체

1
2
3
4
5
6
7
8
9
10
11
12
13
n, k = map(int, input().split())
a, b = list(map(int, input().split())), 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]
else:
break

print(sum(a))

정렬을 하고 k번 비교하는데, a의 원소가 b의 원소보다 더 커지면 더이상 스왑할 필요가 없음