본문 바로가기

전체 글

(45)
[백준] 2211. 다익스트라_네트워크복구 - Python 문제 N(1 ≤ N ≤ 1,000)개의 컴퓨터로 구성된 네트워크가 있다. 이들 중 몇 개의 컴퓨터들은 서로 네트워크 연결이 되어 있어 서로 다른 두 컴퓨터 간 통신이 가능하도록 되어 있다. 통신을 할 때에는 서로 직접 연결되어 있는 회선을 이용할 수도 있으며, 회선과 다른 컴퓨터를 거쳐서 통신을 할 수도 있다. 각 컴퓨터들과 회선은 그 성능이 차이가 날 수 있다. 따라서 각각의 직접 연결되어 있는 회선을 이용해서 통신을 하는데 걸리는 시간이 서로 다를 수 있다. 심지어는 직접 연결되어 있는 회선이 오히려 더 느려서, 다른 컴퓨터를 통해서 통신을 하는 것이 더 유리할 수도 있다. 직접 연결되어 있는 회선을 사용할 경우에는 그 회선을 이용해서 통신을 하는 데 드는 시간만큼이 들게 된다. 여러 개의 회선을 거..
[백준] 2307. 다익스트라_도로검문 - Python 문제 그림 1은 어떤 도시의 주요 지점과 그 지점들 간의 이동시간을 나타낸 그래프이다. 그래프의 노드는 주요 지점을 나타내고 두 지점을 연결한 도로(에지)에 표시된 수는 그 도로로 이동할 때 걸리는 분 단위의 시간을 나타낸다. 두 지점 a와 b를 연결하는 도로는 도로(a,b)로 표시한다. 예를 들어 도로(1,2)와 도로(2,3)를 통하여 지점1에서 지점3으로 갈 때 걸리는 시간은 3분이다. 도로는 모두 양방향이라고 가정하므로 도로(a,b)와 도로(b,a)를 지날 때 걸리는 시간은 항상 같다고 한다. 오세준은 입력 데이터에 표시된 도시로 진입하여 이 도시를 가장 빠른 시간 내에 빠져나가고자 한다. 그런데 이 사실을 알고 있는 류원룡이 어떤 하나의 도로(에지)를 선택하여 이 도로에서 검문을 하려고 한다. 따..
[21.03.23]Django_사용자기능추가(USER, LOGIN, SIGNUP 등) 2021-03-23 * DJANGO Django USER, LOGIN, SIGNUP (사용자와 관련된 기능 구축하기 CRUD) Authentication system ★ HTTP의 특징 비연결지향 : 서버는 응답 후 접속을 끊는다. 무상태 : 접속이 끊어지면 클라이언트와 서버 간 통신이 끝나며 상태를 저장하지 않는다. 즉, 서버와 현재 상태를 공유하기 위해 지속적으로 정보를 포함하여 요청해야하며 이것을 '쿠키'라는 공간에 담아 정보를 주고 받는다. ★ 쿠키 : 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각 (재요청할때 쿠키를 함께 보낸다.) 목적 세션관리 : 로그인, 아이디자동완성, 공지 안보기, 팝업체크 등 개인화 : 사용자 선호, 테마 등의 세팅 트래킹 : 사용자 행동, 기록..
[21.03.18]Django_STATIC,MEDIA(앱별 CSS 적용, Image의 DB) 2021-03-18 * DJANGO Django STATIC/MEDIA (CSS 주기 / 그림, 영상, 파일 DB만들고 보여주기 ) STATIC : 앱별 CSS 적용 ※ 하기전에 협업을 위한 venv 복습! 이번엔 남의 프로젝트를 가져온 뒤에 작업을 해보자 (requirements.txt) $ python -m venv venv : 가상환경 설치 $ source venv/Scripts/activate : 가상환경 실행 $ pip install -r requirements.txt 아래 코드를 추가해 준다. STATIC_ROOT = BASE_DIR / 'static' : settings.py에 작성해서 사용 static 위치 {% load static %} 이렇게 가져다가 사용한다. pytho..
[21.03.10]Django_Model(ORM, DB API, CRUD 기본) 2021-03-10 * DJANGO Django Model 데이터 베이스를 관리하는 역할을 한다. (클래스를 만들어서 안에 항목들을 넣는다.) 데이터 베이스랑 같다고 생각하면 또 안된다~ 웹 어플리케이션의 데이터를 구조화하고 조작하기 위한 도구 조작 방법? (ORM : Object relational mapping) ORM : SQL 모르기 때문에 python 언어로도 DB와의 소통할 수 있도록 도와준다. ORM 장단점 장점 : SQL을 몰라도 DB조작 가능, SQL의 절차적 접근이 아닌 객체 지향적 접근으로 생산성이 높다. 단점 : ORM만으로 완전하지 않다. 완전한 서비스 구현은 어렵다. @@ 생산성이 높으니까 쓰는거다! @@ DB를 객체로 조작하기 위해 ORM을 사용한다. migrations dja..
[21.03.08]Django_기본개념(MTV, 명령어, 구조) 2021-03-08 * DJANGO Django 시작이다!! 몇가지 필요 내용 정리 Django는 server 쪽에서 활용하는 웹 프레임 워크이다. MTV(Model Template View) 다른 거 MVC(Model View Controller) java spring M : 데이터 베이스 관리 T : 레이아웃( 화면 ) V : 중심 컨트롤러( 심장 ) 몇가지 터미널 명령어 $ django-admin startproject (프로젝트 이름) >>> 새로운 프로젝트 생성 $ python manage.py startapp (앱 이름) >> 앱 생성 $ python manage.py runserver >> 서버 시작 오늘은 urls.py / views.py / templates.html 이렇게 3개에 손을 ..
[백준] 4485. 최단경로_녹색옷입은애가젤다지 - Python 문제 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주인공, 링크는 지금 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있다. [0][0]번 칸이기도 하다. 왜 이런 곳에 들어왔냐고 묻는다면 밖에서 사람들이 자꾸 "젤다의 전설에 나오는 녹색 애가 젤다지?"라고 물어봤기 때문이다. 링크가 녹색 옷을 입은 주인공이고 젤다는 그냥 잡혀있는 공주인데, 게임 타이틀에 젤다가 나와있다고 자꾸 사람들이 이렇게 착각하니까 정신병에 걸릴 위기에 놓인 것이다. 하여튼 젤다...아니 링크는 이 동굴의 반대편 출구, 제일 오른쪽 아래 칸인 [N-1][N-1]까지 이동해야..
[백준] 1753. 최단경로_최단경로 - Python 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 10 이하의 자연수이다. 서로 다른 두 정점 사이에 여러 개의 간선이 존재할 수도 있음에 유의한다. 출력 첫째 줄부터 V개의 줄..