본문 바로가기

파이썬

(3)
[Algorithm] 선택, 삽입, 버블 정렬 본 포스팅에서는 선택, 삽입 버블 정렬에 대한 포스팅입니다. 구현 언어는 Python입니다. 이 세 가지 정렬 방식은 다른 알고리즘에 비해 성능이 떨어지지만 구현이 쉽고 코드 읽기가 쉽다는 장점이 있습니다. (선택과 버블 정렬은 데이터의 상태와 관계없이 O(n²)의 시간 복잡도를 가지고 삽입 정렬은 데이터의 상태에 따라 O(n)의 이상적인 시간 복잡도를 가지지만 최악의 경우 O(n²)의 시간 복잡도를 갖는다고 합니다. 우선 본 포스팅을 위해 위 3가지 정렬 기능을 하나의 스크립트로 미리 작성해두었습니다. import copy class Sorts: def __init__(self, array): self.array = array #결과 출력용 함수 def print_result(self, name, ar..
[Algorithm] 정렬 - 가장 큰 수 programmers에 등록되어있는 정렬 - 가장 큰 수 구하기 알고리즘에 대한 풀이입니다. 개인적인 공부를 위해 작성하는 개인적인 해석으로 경우에 따라 틀린 해석일 수도 있음을 상술합니다. 알고리즘 코딩 테스트는 간편하고 빠르게 구현할 수 있는 언어인 파이썬으로 응시하는 경향이 강하다고 합니다. 따라서 알고리즘 포스팅 또한 파이썬을 기준으로 풀어보도록 하겠습니다. 코드 링크는 아래 첨부합니다. https://programmers.co.kr/learn/courses/30/lessons/42746 본격적인 포스팅을 하기에 앞서 일러두자면, 후술 할 설명들은 최대한 자세하게 코드의 흐름을 설명하고자 하였으므로, 숙달된 분들에게는 불필요한 서술이 많습니다. 만약 코드 자체만으로 분석이 가능하신 분들은 위에서 ..
[Algorithm] 정렬 - K번째 수 programmers에 등록되어있는 정렬 - K번째 수 구하기 알고리즘에 대한 풀이입니다. 개인적인 공부를 위해 작성하는 개인적인 해석으로 경우에 따라 틀린 해석일 수도 있음을 상술합니다. 알고리즘 코딩 테스트는 간편하고 빠르게 구현할 수 있는 언어인 파이썬으로 응시하는 경향이 강하다고 합니다. 따라서 알고리즘 포스팅 또한 파이썬을 기준으로 풀어보도록 하겠습니다. 코드 링크는 아래 첨부합니다. https://programmers.co.kr/learn/courses/30/lessons/42748 본격적인 포스팅을 하기에 앞서 일러두자면, 후술할 설명들은 최대한 자세하게 코드의 흐름을 설명하고자 하였으므로, 숙달된 분들에게는 불필요한 서술이 많습니다. 만약 코드 자체만으로 분석이 가능하신 분들은 위에서 두 ..