정렬 3

파이썬 정렬이란2 (#11652 카드)

#11652 카드 https://www.acmicpc.net/problem/11652  from sys import stdininput = stdin.readlinen = int(input())nums = dict()for _ in range(n): num = int(input()) if num in nums: nums[num] += 1 else: nums[num] = 1target = list(nums.keys())target.sort(key=lambda x: (nums[x], -x))# print(target)print(target[-1]) 숫자의 개수를 세는 문제였는데,개수가 같은 경우 수의 크기가 작은 것을 출력하는 것이 관건이었다. python sort의..

파이썬 정렬이란 (#10825 국영수)

#10825 국영수 https://www.acmicpc.net/problem/10825  정렬 관련 문제였다.  내 초기 코드는 다음과 같았다. from sys import stdininput = stdin.readlinen = int(input())students = []for _ in range(n): x = input().split() student, grades = x[0], list(map(int, x[1:])) students.append([student] + grades)# 국어 점수가 감소하는 순서로# 국어 점수가 같으면 영어 점수가 증가하는 순서로# 국어 점수와 영어 점수가 같으면 수학 점수가 감소하는 순서로# 모든 점수가 같으면 이름이 사전 순으로 증가하는 순서로 (단,..

프로그래머스 고득점 kit 풀기 #정렬

1. K번째 수 i,j,k가 입력되면, 전체 배열에서 i~j까지의 수를 정렬한 뒤 k번째 수를 구하면 된다. 내 코드 def solution(array, commands): answer = [] for i,j,k in commands: answer.append(list(sorted(array[i-1:j]))[k-1]) return answer 이게 조금 더 정석적인 코드라고 생각하지만 추천순 1위에는 lambda 함수를 이용한 한 줄 짜리 코드가 있었다. 그래서 나도 한 줄로 짜봤다. 한 줄 짜리 def solution(array, commands): return [sorted(array[i-1:j])[n-1] for i, j, n in commands] 하지만 이 전에도 말했든 별로 직관적이지 않아 그..

728x90