정렬

매일 공부(ML)·2021년 12월 15일
0

알고리즘

목록 보기
5/5

위에서 아래로

N = int(input()) # 숫자 개수

array = [] # 정렬을 할 거니까 N을 입력받아 리스트로 저장

for i in range(N):
    
    array.append(int(input())) #입력 값들 추가해서 리스트 형성, 입력예시처럼 한 줄로 입력
    
# array = sorted(array, ascending = False) # 정렬된 것을 내림차순

array = sorted(array, reverse = True) #내림차순

for i in array: # 출력하기
    
    print(i, end=' ')
    

성적이 나은 순서로 학생 출력

list.sort()와 sorted()는 모두 비교하기 전에 각 리스트 요소에 대해 호출할 함수(또는 다른 콜러블)를 지정하는 key 매개 변수를 가지고 있습니다.

key 매개 변수의 값은 단일 인자를 취하고 정렬 목적으로 사용할 키를 반환하는 함수(또는 다른 콜러블)여야 합니다. 키 함수가 각 입력 레코드에 대해 정확히 한 번 호출되기 때문에 이 기법은 빠릅니다.

N = int(input()) # 개수

#정렬 문제이 기본 폼
array = []

for i in range(N):
    
    data = input().split() # 입력조건 두 번째 입력을 공백으로 구분되어서 해야함.
    
    array.append((data[0], int(data[1]))) #문자와 숫자 데이터

#sorted(student_tuples, key=lambda student: student[2])   # sort by age

array = sorted(array, key = lambda student : student[1]) # 정렬 시 성적을 기준으로 한다. 

for student in array:
    
    print(student[0], end= ' ')

두 배열의 원소 교체

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))
profile
성장을 도울 아카이빙 블로그

0개의 댓글