본문 바로가기
728x90

카운팅정렬2

[BOJ/Python] 10989. 수 정렬하기 3 📌 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 📌 문제 접근 방법 카운팅 정렬 적용해보기! 처음엔 자꾸 메모리 초과가 떠서 고민하다가 숫자를 입력받아서 리스트를 만들지 않고, 바로 카운팅을 해줬다! 그래도 인덱스에러가 나길래 또 뭘까 하니까 입력받는 숫자가 한 자리수가 아니라 10000까지 들어오는 것이었다..! 쉬워보여서 무시했는데 쉽지 않네..ㅎ... 📌 코드 import sys N = int(sys.stdin.readline()) cnt = [0].. 2021. 8. 18.
[Algorithm] 정렬 - 버블정렬, 카운팅 정렬, 선택 정렬 정렬 (Sort) 데이터를 정해진 순서대로 나열 대표적인 정렬 방식 버블 정렬 카운팅 정렬 선택 정렬 퀵 정렬 삽입 정렬 병합 정렬 arr = [5, 6, 2, 9, 7, 1, 8, 3, 4, 0] 위와 같은 배열을 오름차순 정렬한다고 할 때, 정렬별로 어떻게 구현할 수 있을까? 버블 정렬 (Bubble Sort) 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식 첫 번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리까지 이동 (가장 큰 원소부터 맨 마지막 자리에서 점점 앞으로 채워 넣기) 비교와 교환 O(n^2) # Bubble sort def BubbleSort(arr): for i in range(len(arr)-1, 0, -1): for j in range(0, i): .. 2021. 8. 16.
728x90