반응형

➰ Library 35

정렬 알고리즘 개념정리/Python 으로 구현하기 (Bubble, Insertion, Selection, Merge, Quick, Heap, Radix, Count Sorting)

안녕하세요! daily_D 입니다! 👩🏻‍💻 오늘은 정렬 알고리즘에 대해 공부해봐요!! Bubble Sorting ( 버블정렬 ) 시간복잡도 : O(N^2) 공간복잡도 : O(1) 서로 인접한 두 원소를 검사하여 정렬하는 방식 ※ 정렬 알고리즘들 중에서 가장 간단한 로직을 가졌지만 그만큼 낮은 성능을 보입니다. # Python def bubble_sort(arr): for i in range(N-1, 0, -1): for j in range(i): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr Selection Sort ( 선택정렬 ) 시간복잡도 : O(N^2) 공간복잡도 : O(1) 비정렬영역의 최솟값을 찾아 정렬영역의 맨 뒤..

Mac 한영키(CapsLock) 딜레이 해결

안녕하세요! daily_D 입니다! 👩🏻‍💻 맥북 사용자라면 누구나 한영키가 잘 안눌려서 답답하셨을때가 있죠? ㅠㅠ 그래서 오늘은 간단한 해결방법에 대해 말씀드리려합니다! 😆 1. 시스템 환경설정 > 키보드 > 단축키 > 입력소스 로 이동합니다 2. "이전 입력 소스 선택"과 "입력 메뉴에서 다음 소스 선택" 두 값을 서로 변경해줍니다

[티스토리] 코드블록 스타일 / 폰트 변경하기

안녕하세요! daily_D 입니다! 👩🏻‍💻 오늘은 티스토리 코드블록 커스텀하는 방법에 대해 공유해드리려합니다! 블로그에 정리하는데 이왕이면 이쁜 코드블록으로 보면 기부니가 좋자나요~~ 🤗 1) Syntax Highlight 플러그인 사용하기 ※ 플러그인을 사용하면 1분만에 코드블록 스타일을 변경할 수 있지만 디자인이 이쁘지 않으니 2, 3번 방법을 추천드립니다! ㅎㅎ 1. [블로그 관리 > 플러그인 ] 으로 이동합니다 2. syntax highlight에서 본인이 원하는 테마를 선택하고 적용을 누르면 됩니다! 3. 결과 (Atom One Dark) 2) 스킨 편집하기 (HTML) 1. [블로그 관리 > 꾸미기 > 스킨편집 > html 수정] 2. 아래의 코드를 HTML 바로 밑에 추가합니다. 3. 아래..

➰ Library/기타 2021.12.20

LRU 알고리즘 (Least Recentely Used) 개념 및 구현방법

안녕하세요! daily_D 입니다! 👩🏻‍💻 오늘은 페이지 교체 알고리즘 중에서 LRU에 대해서 공부해볼까요?! LRU 란? LRU(Least Recently Used)는 가장 오랫동안 참조되지 않은 페이지를 교체하는 방식입니다. LRU 는 사용된지 가장 오래된 페이지는 앞으로도 사용될 확률이 낮다는 가설에 의해 만들어진 알고리즘입니다. LRU 의 원리 LRU 를 구현하기 위해서는 캐시가 가득 찼을때, 가장 오랫동안 참조되지 않은 페이지를 찾아서 없애는 과정이 필요합니다. 페이지를 새로 참조할 때마다 연결리스트의 맨 앞에 페이지번호를 추가합니다. 그러면 맨 뒤에 있는 페이지번호가 가장 오랫동안 참조되지 않은 페이지번호가 되겠죠? 따라서 LRU의 원리는 캐시의 크기가 3인데 이미 3개의 페이지가 캐시에 들..

DFS 와 BFS 구현원리 & 코드

안녕하세요! daily_D 입니다! 👩🏻‍💻 오늘은 DFS 와 BFS의 원리와 이를 코드로 작성하는 방법에 대해서 써볼까합니다! DFS 와 BFS, 알고리즘하면 거의 가장 먼저 배우게 되는 것들이죠! 아마 알고리즘 원리는 몰라도 이름은 들어보신 분들이 많을거에요! 그래서 DFS, BFS 가 뭐냐! 하면!! DFS는 Depth-First-Search의 약어로 깊이 우선 탐색이고 BFS 는 Breadth-First-Search 의 약어로 너비 우선 탐색입니다. 이 둘은 그래프를 탐색하는 방법들입니다! 그럼 그래프가 뭐냐.. 하면 그래프는 정점(node)들과 이 정점들을 연결하는 간선(edge)으로 이루어진 자료구조를 말합니다. 그래프 탐색은 하나의 정점을 시작으로 다른 정점들을 모두 한번씩 방문하는 것을 말..

[Ubuntu] SSH 서버 구축하기

🔥 SSH 란? ssh 이란 네트워크 프로토콜 중 하나로, 컴퓨터와 컴퓨터가 public network를 통해 서로 통신을 할 때 보안적으로 안전하기 위한 프로토콜이다. 🔥 SSH 서버구축하기 Ubuntu 18.04.4 에서 진행했다. openssh-server 설치 유무 확인 아래의 명령어를 통해 openssh-server 가 있는지 확인해보니 openssh-client 만 존재하는 것을 발견 openssh-server 설치 아래의 명령을 통해 openssh-server를 설치하던 중, 잠금파일이 있다는 에러메세지를 만나게 되었다. 에러메세지가 뜬 이유는 아래와 같고 apt-get update는 패키지 저장소에서 새로운 패키지 목록을 가져오는 명령으로 루트 권한을 필요로 합니다. 일반 사용자 권한으로 ..

➰ Library/기타 2021.07.20

[Python] 특정기준으로 배열 정렬하기 (key=lambda)

파이썬에서 배열을 정렬하기 위해서는 sorted() / sort() 함수나 reverse 를 사용하여 내림차순, 오름차순정렬을 할 수 있습니다. 하지만 내가 원하는 특별한 기준으로 배열을 정렬하고 싶을 때는 어떻게 해야할까요? 이때는 key=lambda 식을 사용하면 됩니다! 1. key 가 하나일 때 ex1) x를 기준으로 정렬하기 (일반 오름차순) arr = ['abc', 'bac', 'bca'] sorted(arr, key=lambda x : x) ex2) arr 에 속하는 각 원소들을 x 라고 생각했을 때, x[0]를 기준으로 정렬하기 arr = ['abc', 'bac', 'bca'] sorted(arr, key=lambda x : x[0]) 2. key 가 여러개 일 때 ex1) x[0]를 기준..

➰ Library/Python 2021.07.08

fatal: couldn't find remote ref master. 에러 해결하기!

commit을 유지하면서 git repository를 합치던 중 아래와 같은 오류를 만났다면! 그 원인은 서브 repo의 브랜치 이름을 잘못 입력했기 때문입니다. 따라서 아래의 방법과 같이 현재 브랜치의 이름을 확인한 다음 마지막 master 이라고 적었던 부분에 정확한 브랜치 이름을 적으면 해결!!! + commit 을 유지하면서 git repo를 합치는 방법이 궁금하시다면~ 아래의 링크를 눌러주세요 ※https://dailylifeofdeveloper.tistory.com/193 + Working tree has modifications. Cannot add. 에러가 났다면~ 아래의 링크를 눌러주세요 https://dailylifeofdeveloper.tistory.com/213

➰ Library/GIT 2021.06.30

[Python] 순열과 조합 직접 구현하기 / itertools 사용하기

안녕하세요! daily_D 입니다! 👩🏻‍💻 오늘은 Python itertools 로 순열과 조합을 이용해보는 방법과 직접 구현하는 방법에 대해 알아볼까요? ➤ 순열 ( = permutations) : n 개의 원소에서 중복을 허용하지 않고 r개를 뽑아서 나열 직접구현 def permutations(array, r): for i in range(len(array)): if r == 1: yield [array[i]] else: for next in permutations(array[:i] + array[i+1:], r-1): yield [array[i]] + next itertools 사용 from itertools import permutations for i in permutations([1, 2, ..

➰ Library/Python 2021.06.24