정렬 6

데이터구조 - (8) 정렬 -2

퀵 정렬 선행 작업을 한 다음 재귀적으로 작은 문제를 해결하는 방식의 정렬이다. 기준 원소를 하나 잡아 작은 원소와 큰 원소 그룹을 나누어 기준 원소의 좌우로 분할하는 방법이다. 출처 : 쉽게 배우는 자료구조 with 파이썬 ​ 1~4구역까지 나누어 분할하여 정렬을 수행한다. 1구역은 기준 원소보다 작은 원소들 즉 왼쪽, 2구역은 기준 원소보다 크거나 같은 원소들 즉 오른쪽, 3구역은 아직 정해지지 않은 원소들 즉 아래에서 흰 색 부분, 4구역은 기준 원소 부분이다. 출처 : 쉽게 배우는 자료구조 with 파이썬 위에서 보면 기준 원소를 정하고 정렬되지 않은 3구역 원소들을 기준 원소와 비교해 1구역과 2구역으로 나누는 과정을 반복한다. 최종적으로 기준 원소를 1구역과 2구역 사이에 배치한다. 이후 1구..

대학교 2023.11.22

데이터구조 - (7) 정렬 -1

정렬 정렬은 원소들을 순서대로 배열하는 것을 말한다. 크기가 작은 순 혹은 큰 순으로 정렬하기도 한다. ​ 정렬 알고리즘은 대략 3개의 그룹으로 나뉜다. ​ -기본 정렬 - 빅 세타 n^2 선택 정렬 버블 정렬 삽입 정렬 ​ - 고급 정렬 - 빅 세타 nlogn 병합 정렬 퀵 정렬 힙 정렬 셸 정렬 ​ - 특수 정렬 - 빅 세타 n 계수 정렬 기수 정렬 버킷 정렬 ​ 기본 정렬 선택 정렬 리스트의 가장 큰 원소를 찾아 리스트의 맨 끝자리 원소와 자리를 바꾸고, 정렬된 맨 오른쪽 부분은 제외한 상태로 반복하여 최종적으로 리스트를 오름차순 정렬하는 방법이다. 출처 : 쉽게 배우는 자료구조 with 파이썬 출처 : 쉽게 배우는 자료구조 with 파이썬 파이썬으로는 위와 같이 구현할 수 있다. 두 수를 비교하는..

대학교 2023.11.15

EDA - 1단계 : 데이터 다루기 - 정렬, 결합

- 과거 내용 EDA - 1단계 : 데이터 다루기 - 비교, 필터링, 결측치 과거 내용 DataFrame - 비교, 필터링 1. 비교 40보다 큰 값은 True, 작거나 같은 값은 False로 나온다.... blog.naver.com - DataFrame - 정렬 1. 값 정렬 #원본 데이터 col1 col2 col3 row1 -3 A 7 row2 C 36 row3 5 D -5 #값 정렬 print(df.sort_values(by=['col1'],axis=0,ascending=True)) col1 col2 col3 row1 -3 A 7 row3 5 D -5 row2 C 36 by는 어떤 부분을 정렬할 지 선택하고, axis는 행과 열을 선택하고, ascending은 True일 때 오름차순, False일 ..

[알고리즘] 백준 11004 파이썬 - K번째 수

11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 45407 15192 10371 40.229% 문제 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. 문제풀이 n,m=map(int,input().split()) arr=list(map(int,input().split())) arr.sort() print(arr[m-1]) - 굉장히 쉬운 문제이다. - n,m arr에 입력된 값을 차례로 저장하고, arr을 오름차순..

[알고리즘] 백준 11652 파이썬 - 카드

11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 문제 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다. 문제풀이 import sys input = sys.stdin.readline ans={} #01 for _ in range(int(in..