반응형

sort 7

[프로그래머스 - Python] 전화번호 목록

파이썬으로 코딩테스트 연습하기 :: 프로그래머스 > 해시 > 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr Solution def solution(phone_book): phone_book.sort() answer = True for i in range(len(phone_book)-1) : x = phone_book[i] y = phone_book[i+1] x_len = len(x) y_l..

[백준] 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]

반응형