sort(2)
-
백준 카드 정렬하기 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net cards라는 heap에 각 카드 묶음의 카드 수를 저장합니다. cards의 길이가 1이 될 때까지 다음을 반복합니다. 최솟값 2개를 뽑아(pop) 둘의 합을 result라는 리스트에 추가하고, 둘의 합을 cards 힙에도 다시 추가합니다. 이후 다시 최솟값 2개를 뽑아 이를 반복합니다. 마지막엔 result 리스트의 모든 원소의 합을 반환합니다. sort 함수를 이용하면 시간초과가..
2021.08.12 -
백준 국영수 코드 및 해설 (파이썬)
https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net sort의 key를 활용해 문제의 조건에 맞게 정렬했습니다. 디폴트로 오름차순으로 정렬되므로, 내림차순으로 정렬되어야 할 경우엔 -를 붙여 내림차순으로 정렬되도록 했습니다. import sys # 학생 수 N = int(sys.stdin.readline()) students = [] for i in range(N): # 이름, 국어, 영어, 수학 name, korean, en..
2021.08.02