본문 바로가기

파이썬3

[알고리즘] 최단 경로 알고리즘 (다익스트라, 플로이드 워셜) 🧩 최단 경로 알고리즘 최단 경로 알고리즘: 가장 짧은 경로를 찾는 알고리즘 문제 상황 한 지점에서 다른 한 지점까지의 최단 경로 한 지점에서 다른 모든 지점까지의 최단 경로 모든 지점에서 다른 모든 지점까지의 최단 경로 [그래프] 노드(각 지점) / 간선(지점 간 연결된 도로) 다익스트라 최단 경로 알고리즘 특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산 음의 간선이 없을 때 정상적으로 동작 그리디 알고리즘 매 상황에서 가장 비용이 적은 노드를 선택해 임의의 과정 반복 ✔️ 동작 과정 출발 노드 설정 최단 거리 테이블 초기화 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드 선택 해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블 갱신 위 과정에서 3번, 4번 .. 2022. 10. 25.
[Python] 정규 표현식 (Regular Expressions) 코딩 테스트를 보면서 정규식을 알았다면 간단하게 해결될 수 있는 문제를 푼 적이 꽤 있다. 하지만 너무 어려울 것 같아 미루던 정규식을 스터디를 기회로 조금이라도 공부해보고자 한다. 전부를 알 수는 없기 때문에 이번에는 스터디 문제에서 해결했던 아이디어 위주로 알아보자! 정규 표현식(Regular Expressions): 복잡한 문자열을 처리할 때 사용하는 기법으로, 파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 곳에서 사용 1. 메타 문자 . ^ $ * + ? { } [ ] \ | ( ) 1) 문자 클래스 [ ] "[ ] 사이의 문자들과 매치"라는 의미 [a-zA-Z] : 알파벳 모두 [0-9] : 숫자 2) ^ 이 문자를 헷갈리지 않고 사용해야 된다. [^0-9] : 문자 클래스 안에서는 ^는.. 2022. 10. 3.
파이썬 가상 환경(virtualenv)과 Flask 서버 구축, pip freeze vs pipreqs 파이썬을 사용하여 프로젝트를 진행할 때엔 가상 환경을 구축한 뒤 개발을 권장하고 있다. 가상 환경을 구축하여 프로젝트를 하는 이유는 프로젝트 마다 라이브러리의 버전이 다를 수 있기 때문에 프로젝트 내에 버전을 일치시켜 독립적으로 개발하기 위해서이다. 1. 설치 $ pip install virtualenv 2. 프로젝트 폴더 생성 $ virtualenv "프로젝트폴더명" 나는 프로젝트 이름을 app 으로 했다. 이렇게 폴더가 생성된다. 3. 가상환경 시작 위에서 생성한 app 폴더로 cd app 해서 다음 명령어를 실행한다. 그러면 가상환경이 시작된다. 가상환경 명이 (app) 처럼 뜬다면 정상적으로 실행된 것이다. $ source ./Scripts/activate 이제 여기서 원하는 패키지를 설치하면 된.. 2022. 6. 18.
반응형