정렬 4

[프로그래머스][KAKAO_BLIND][2018] 파일명 정렬

프로그래머스 코딩테스트 고득점 Kit의 문제입니다. https://programmers.co.kr/learn/challenges?tab=algorithm_practice_kit 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 문제 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 내가 작성한 코드 import re def solution(files): ..

코딩테스트 2021.08.11

[파이썬 알고리즘 인터뷰][정렬] 리스트 정렬

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 연결 리스트 정렬 책에서 구현된 코드 class Solution: def sortList(self, head: ListNode) -> ListNode: # 연결 리스트 -> 파이썬 리스트 p = head lst: List = [] while p: lst.append(p.val) p = p.next # 정렬 lst.sort() # 파이썬 리스트 -> 연결 리스트 p = head for i in range(len(lst)): p.val = lst[i] p = p.next return head 기억해야할 기법 연결 리스트 정렬 방법 연결 리스트를 순차탐색하여 비교할값들의 배열로 바꿈 정렬 연결 리스트를 순차탐색하..

책읽기 2021.08.06

[파이썬 알고리즘 인터뷰] 17장 - 정렬

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 정렬 알고리즘 목록의 요소를 특정 순서대로 넣는 알고리즘 숫자식 순서(Numerical Order) / 사전식 순서(Lexicographical Order) 버블 정렬 이웃한 두 데이터의 대소비교를 n번 수행하는 알고리즘 시간복잡도 O(n2) def bubblesort(A): # (1) for i in range(1, len(A)): # (2) for j in range(0, len(a)-i): # (3) if A[j] > A[j+1]: A[j], A[j+1] = A[j+1], A[j] # (1) 2개씩 비교하니까 n-1번 수행 # (2) 0부터 매 루프마다 i개씩 뺀 범위에서 비교 수행 # (3) 앞 요소가 더 크면..

책읽기 2021.08.06