반응형

sort 6

[백준] 10989번 : 수 정렬하기 3 in python 파이썬

파이썬으로 백준풀기 :: 10989번 수 정렬하기 3 https://www.acmicpc.net/problem/10989 코드 1234567import sysc = [0]*10000n = int(sys.stdin.readline())for _ in range(n) : c[int(sys.stdin.readline())-1] += 1for i in range(10000) : [print(i + 1) for _ in range(c[i])]cs 이 문제는 아주아주 예민한 문제이다. 메모리가 상당히 적은 부분만 할당되기 때문에 코드를 딱 한 글자만 고쳐도 통과가 되기도, 안 되기도 한다. 애초에 할당되는 메모리가 적기때문에 input을 처음에 다 받아서 저장하면 무조건 메모리 초과가 뜬다. input을 따로 저장..

[알고리즘] 파이썬으로 힙 정렬 구현하기 :: heap sort in python

파이썬으로 힙 정렬(heap sort) 구현하기 힙 정렬(Heap sort)이란 최대 힙 트리나 최소 힙 트리를 구성해 정렬을 하는 방법으로서, 내림차순 정렬을 위해서는 최대 힙을 구성하고 오름차순 정렬을 위해서는 최소 힙을 구성하면 된다. 본 포스팅에서는 최소힙으로 오름차순 정렬을 구현해보겠다.내림차순은 아래 코드에서 부등호방향만 반대로 바꾸면 된다. 123456789101112131415161718192021222324252627def heapify(li, idx, n): l = idx * 2; r = idx * 2 + 1 s_idx = idx if (l li[l]): s_idx = l if (r li[r]): s_idx = r if s_idx != idx: li[idx], li[s_idx] = li..

[알고리즘] 파이썬으로 병합 정렬 구현하기 :: merge sort in python :: bottom up 방식

파이썬으로 bottom-up 방식 merge sort 구현하기 1. merge sort란? 합병정렬/병합정렬은 반씩 분할해서 다시 합치면서 정렬하는 방식이다. https://ko.wikipedia.org/wiki/합병_정렬#/media/파일:Merge-sort-example-300px.gif 2. merge sort in python 이를 python3에서 구현하면 다음과 같다. 123456789101112131415161718192021# merge sortdef merge(left, right) : v=list() i=0;j=0 while(i merge_sort([0, 5, 7, 6, 1, 2, 8, 3, 4, 9]) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] input으로 들어간 10개..

[알고리즘] 파이썬으로 삽입정렬 구현하기 :: insertion sort in python

파이썬으로 삽입정렬 구현하기 :: insertion sort in python 1. 삽입정렬이란? What is a insertion sort? 삽입 정렬은 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다.https://ko.wikipedia.org/wiki/%EC%82%BD%EC%9E%85_%EC%A0%95%EB%A0%AC 2. insertion sort in python 이를 python3에서 구현하면 다음과 같다. 123456789# insertion sortdef insert(v) : for i in range(1,len(v)) : j=i-1 while(j>=0 and v[i] insert([7, 6, 1, 8, 5,..

[알고리즘] 파이썬으로 거품정렬 구현하기 :: bubble sort in python

파이썬으로 bubble sort 구현하기 1. bubble sort란? 거품 정렬은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간복잡도는 \(O(n^2)\) 으로 상당히 느리지만 구현이 쉽다는 장점이 있다. 2. bubble sort in python 이를 python3에서 구현하면 다음과 같다. 12345678# bubble sortdef bubble(v) : l = len(v) for i in range(l-1): for j in range(l-i-1) : if v[j]>v[j+1] : v[j+1], v[j] = v[j], v[j+1] return vColored by Color Scriptercs * bubble sort 예시 > bubble([5,4,3,2,1])[1, 2, 3, 4, 5] ..

[알고리즘] 파이썬으로 sort하기 :: bubble sort(버블정렬), insert sort(삽입정렬), merge sort(병합정렬), heap sort(힙정렬)

파이썬으로 정렬하기 1. bubble sort in python 1234567def bubble(v) : l = len(v) for i in range(l-1): for j in range(l-i-1) : if v[j]>v[j+1] : v[j+1], v[j] = v[j], v[j+1] return vColored by Color Scriptercs 2. insertion sort in python 123456789# insertion sortdef insert(v) : for i in range(1,len(v)) : j=i-1 while(j>=0 and v[i]

반응형