10814 python | 정렬 함수

Python을 사용하여 10814 연령 정렬 문제를 해결해 봅시다.

* 문제 링크

https://www.acmicpc.net/problem/10814

#10814: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름은 가입한 순서대로 나열됩니다. 이때 프로그램은 나이가 많은 순서로 멤버를 정렬하고, 나이가 같을 경우 먼저 가입한 사람이 먼저 옵니다.

www.acmicpc.net

*암호

n=int(input())
array=()
for i in range(n):
    age,name=map(str,input().split())
    age=int(age)
    array.append((age,name))

array.sort(key=lambda x : x(0))

for i in array:
    print(i(0),i(1))

*코드 주석

나이와 이름을 별도의 변수에 넣고 각 쌍의 목록을 만듭니다.

그런 다음 목록은 연령 값만을 기준으로 정렬됩니다.

그런 다음 정렬된 목록이 순서대로 인쇄됩니다.

*Python 정렬 함수 정렬

Python 정렬 함수 sort와 sorted 사이의 유사점과 차이점을 살펴보겠습니다.

정렬 기준() 정렬됨 ()
원본 변환 여부 원래 변형 원래 변환 x는 변환된 목록을 반환합니다.
문자열 정렬 기준 알파벳 순서
숫자 정렬 기준 오름차순
적용 예 >>>목록=(2,3,1,4)
>>>목록.정렬()
>>>인쇄(목록)
(1,2,3,4)

>>>list=(‘사과’,’감자’,’바나나’,’수박’)
>>>목록.정렬()
>>>인쇄(목록)
(“사과”, “바나나”, “감자”, “수박”)

>>>목록=(2,3,1,4)
>>>print(정렬(목록)
(1,2,3,4)

>>>list=(‘사과’,’감자’,’바나나’,’수박’)
>>>print(정렬(목록)
(“사과”, “바나나”, “감자”, “수박”)

sort 및 sorted의 매개변수를 살펴보겠습니다.

(1) 그 반대

Python 정렬 함수는 기본적으로 오름차순으로 정렬 및 정렬됩니다. reverse는 내림차순으로 정렬하는 데 사용됩니다.

reverse=True이면 순서가 내림차순이고 reverse=False이면 오름차순입니다.

매개변수이므로 sort(), sorted()의 괄호 안에 넣어주세요.

예) list.sort(reverse=True) / sorted(list,reverse=True)

(키 2개

Python 정렬 함수는 기본적으로 각 요소 자체를 기준으로 정렬하고 정렬합니다. 키는 각 요소를 “per se” 이외의 기준으로 정렬할 때 사용됩니다. 이 경우 람다를 사용할 수 있습니다.

예) 각 요소의 길이에 따라 다른 정렬 가능성

– list.sort(키=len)

– 정렬됨(목록, 키=len)

list.sort(키=lambda x : len(x)) #lambdba 사용

– 정렬됨(목록, 키 =람다 x : len(x)) #람다와 함께

(3) 본 백준 솔루션에 사용된 코드 설명

list.sort(key=lambda x : x(0)) # 각 항목(나이, 이름)에서 나이별로만 정렬합니다.