Python

    파이썬 업그레이드 방법 기록

    ✏️ 파이썬 업그레이드 처음에 구식을 설치했더니 장고버전이 안올라가서 업데이트한다. 1. 파이썬 버전을 업데이트 하고 싶었다. apt를 이용한 버전업데이트 방법이다. $ sudo apt update $ sudo apt install software-properties-common repository 등록 $ sudo add-apt-repository ppa:deadsnakes/ppa 파이썬 3.9 설치 $ sudo apt install python3.9 설치경로 확인 $ which python3.9 /usr/bin/python3.9 2. 기본파이썬 변경 sudo rm /usr/bin/python sudo ln -s /usr/bin/python3.9 /usr/bin/python

    [Python & Algorithm] Dynamic Programming(동적프로그래밍)

    ✏️ Dynamic Programming 큰 문제를 작은 문제로 나누어 푸는 문제를 이야기한다. 이름에 의미는 없다. 그냥 말이 멋있어서 이렇게 지었다고 한다. 1) 분할정복과의 차이 '작은 문제가 중복이 일어나는지 아닌지' 에 차이가 있다. 분할정복은 큰 문제를 해결하기 어려워서 단지 작은 문제로 나누어서 푸는 방법이다. 특징은 작은 문제에서 반복이 일어나는 부분이 없다는 점이다. 하지만 동적프로그래밍은 작은 부분문제들이 반복되는 것을 이용해 문제를 풀어낸다. 2) 다이나믹 프로그래밍의 방법 모든 작은 문제들은 한번만 풀어낸다. 따라서 정답을 구한 작은 문제를 어딘가에 메모해둔다. 다시 그보다 큰 문제를 풀어나갈 때 똑같은 작은 문제가 나타나면 앞서 메모한 작은 문제의 결과값을 이용한다. 3) 다이나믹..

    [Python & Data Structure] Queue, Stack, Linked List

    ✏️ Queue (큐의 개념) 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out) 혹은 LILI(Last In Last Out)을 특징으로 하는 자료구조다.데이터가 입력된 순서대로 처리되어야할 떄 주로 사용이 된다. 정해진 한 곳(top)을 통해서 insert, delete가 이루어지는 stack과 달리 Queue는 한쪽 끝(rear)에서 insert, 다른 쪽 끝(front)에서 delete작업이 이루어진다. rear에서 이뤄지는 삽입연산을 enQueue, front에서 이뤄지는 삭제연산을 dequeue라고 한다. 활용처: 프로세스관리, BFS 구현, Cache 구현 ✏️ Queue (큐의 사용과 구현) Python은 queue라이브러리를 제공한다. 하지만 list를 이용해 ..