정렬

· Algorithm
정렬 1) 기본 정렬 1. Immutable 리스트 기본 정렬 val list = listOf(20, 10, 40, 30, 50) val sortedList = list.sorted() println("List : $list") println("SortedList : $sortedList") // 결과 // List : [20, 10, 40, 30, 50] // sortedList : [10, 20, 30, 40, 50] 불변 리스트이므로 원본 리스트는 변경되지 않습니다. 2. Mutable 리스트 기본 정렬 val mutableList = MutableList(20, 10, 40, 30, 50) mutableList.sort() println("MutableList : $mutableList") // ..
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 3. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 arr..
문제 링크 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 import sys input = sys.stdin.readline n, k = map(int, input().split()) nums = list(map(int, input().split())) nums.sort() print(nums[k - 1])
문제 링크 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 문제 문제 풀이 딕셔너리를 이용해 풀이를 하였다. key값에 숫자를 저장하고, value에 해당 숫자의 개수를 저장한다. 딕셔너리 를 정렬할 때, 1) 개수가 큰 것 2) 개수가 같을 경우, 숫자가 작은 것 이 기준이 되므로, value값에 대해 먼저 내림차순 정렬을 해주고, key값에 대해 오름차순 정렬을 해준다. import sys input = sys.stdin.readlin..
문제 링크 https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 문제 문제 풀이 lambda를 통해 정렬 조건을 정할 때 -를 붙이면 내림차순 정렬이 된다. n = int(input()) array = [] for i in range(n): name, korean, english, math = map(str, input().split()) korean = int(korean) english = int(english) math =..
문제 링크 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 문제 풀이 import sys input = sys.stdin.readline 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])## (age, name)..
문제 링크 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 문제 풀이 배열 내 어떠한 기준을 정해 정렬을 하기 위해서 lambda를 사용한다. 2차원 배열 내 두번째 원소를 첫 번째 기준으로, 첫 번째 원소를 두 번째 기준으로 하였다. import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n)..
문제 링크 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 문제 풀이 import sys input = sys.stdin.readline n = int(input()) array = [] for i in range(n): [x, y] = list(map(int, input().split())) array.append([x, y]) array.sort() for i in range(len..
YOONJELLY
'정렬' 태그의 글 목록