이것이 취업을 위한 코딩테스트다 python 문제 풀이
6-10. 실전문제 ‘위에서 아래로’
# C6. 정렬 - 실전문제 '위에서 아래로'
n = int(input())
nums = []
for i in range(n):
nums.append(int(input()))
nums = sorted(nums, reverse=True)
for i in nums:
print(i, end=' ')
6-11. 실전문제 ‘성적이 낮은 순서대로 학생 출력하기’
# C6. 정렬 - 실전문제 '성적이 낮은 순서대로 학생 출력하기'
n = int(input())
array = []
for i in range(n):
name, score = input().split() #원래 map으로 하려고 했는데 둘 다 int형인 게 아니라서 그냥 입력 받음
array.append((name, int(score))) #append는 입력값 하나만 받기 때문에 튜플형 세트로 보려면 ()로 묶어야 함.
# 두 번째 값인 성적을 기준값으로 정렬할 수 있도록 성적값 리턴
def make_key(put):
return put[1]
array = sorted(array, key=make_key) #키 값 기준 정렬
#함수 lambda로 만들면
#array = sorted(array, key=lambda student: student[1])
#로 하고 밑에 for문에서 student[0] 프린트하면 됨.
for i in range(n):
print(array[i][0], end=' ') #array[i][0]은 이름, array[i][1]은 성적
6-12. 실전문제 ‘두 배열의 원소 교체’
# C6. 정렬 - 실전문제 '두 배열의 원소 교체'
n, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort()
b.sort(reverse=True) # b는 큰 값부터 오게.
for i in range(k):
if a[i] < b[i]: # a가 b보다 작은 경우 swap
a[i], b[i] = b[i], a[i]
else: break
print(sum(a))
'ALGORITHM > 이코테' 카테고리의 다른 글
[ALGORITHM] 8. 다이나믹 프로그래밍 (0) | 2022.03.06 |
---|---|
[ALGORITHM] 7. 이진 탐색 (0) | 2022.03.05 |
[ALGORITHM] 5. DFS/BFS (0) | 2022.03.01 |
[ALGORITHM] 4. 구현 (0) | 2022.02.28 |
[ALGORITHM] 3. 그리디 (0) | 2022.02.27 |
댓글