전체 글 (351) 썸네일형 리스트형 [이코테] 미로 탈출 (BFS) / [BOJ] 2178. 미로 탈출 1. 해결 방법 """ 1. 아이디어 - 2차원 배열을 사용 - BFS를 돌면서 한번 움직일 때마다 +1, 입구에서 출구까지의 거리를 계산 후 최소 이동 거리를 갱신 - 출잘점 (1, 1)에서 목적지 (n, m)까지 이동하는데 해당 노드에 처음 도달한 경우(1일 때) 모든 방향의 노드 값을 +1 해준다. 2. 시간복잡도 - O(V + E) - V : m X n = 200 X 200 = 40000 - E : 4V = 4 * 40000 3. 자료구조 - 이차원 배열 : int[][] - 방문 기록 : bool[][] - BFS(Queue) """ 노드를 이동할 때마다 노드의 값에 +1을 해주면 된다. 단, 상하좌우를 판단해서 이동할 수 있는 경로가 다수일 경우에는 모든 방향에 +1 처리를 해준다. 그러면 결.. [이코테] 음료수 얼려 먹기 (BFS) 1. 해결 방법 """ 1. 아이디어 - 2중 for문 => int[][] - BFS를 돌면서 +1, 생성되는 아이스크림의 개수를 구함 2. 시간복잡도 - O(V + E) - V : m X n = 1000 X 1000 = 1000000 - E : 4V = 4 * 1000000 3. 자료구조 - 얼음 틀 2차원 배열 : int[][] - 방문 : bool[][] - BFS(Queue) """ 그래프 형태이기 때문에 2차원 배열을 사용해야 한다. 마찬가지로 방문 기록을 남겨야 하기 때문에 bool 형태의 2차원 배열을 추가적으로 구현하였다. 하나의 노드(vertex)를 방문하면 그 노드와 연관되어있는 자식 노드를 추가적으로 방문하여 큐에 넣는다. 이런식으로 하나의 얼음 틀을 만들때 까지 방문하다가 연결이 끊.. [BOJ] 1926. 그림 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 1. 해결 방법 1. 아이디어 - 2중 for => 값 1 & 방문 x => BFS - BFS 돌면서 그림 개수 + 1, 최댓값을 갱신 2. 시간복잡도 (한번에 2억개를 실행) - BFS : O(V + E) - V : m(최대 500) X n(최대 500) = 250000 - E : 대략 V X 4(넉넉히) = 4 * 250000 - O : 5 * 250000 시간복잡도 문제 없음 3... [리눅스] 22. 인쇄 1. 리눅스의 인쇄 현 리눅스 시스템들은 인쇄 기능을 제어하기 위해 두 가지 소프트웨어 세트를 사용하고 있다. 첫째가 공통 유닉스 프린티이 시스템인 CUPS(Common Unix Printing System)로 인쇄 드라이버와 작업을 관리한다. 둘째는 RIP 역할을 하는 포스트스크립트 인터프리터인 고스트 스크립트이다. CUPS는 프린트 큐의 생성과 유지를 통해 프린터를 관리한다. 또한 CUPS는 다양한 종류의 자료를 인식하고 파일을 인쇄 가능한 형태로 변환할 수 있는 능력이 있다. 2. 인쇄용 파일 준비 1) pr - 인쇄용 텍스트 파일로 변환 예제로 /usr/bin의 디렉토리 목록을, 페이지 번호를 붙이는 형태로 만들고 pr으ㄹ 사용해서 세 열씩 출력한다. (base) iseungmin@iseungmi.. [리눅스] 21. 출력 포맷 지정 1. 간단한 포맷 툴 1) nl - 줄 번호 매기기 iseungmin@iseungmin-ui-MacBookAir ~ nl /etc/passwd | head 1## 2# User Database 3# 4# Note that this file is consulted directly only when the system is running 5# in single-user mode. At other times this information is provided by 6# Open Directory. 7# 8# See the opendirectoryd(8) man page for additional information about 9# Open Directory. 10## nl 프로그램은 단순히 줄 번호를.. [Docker] 로컬에서 docker-compose를 이용한 Gunicorn 적용 (2) 앞서 적용한 django와 mysql 이후로 python manage.py runserver 로 서버를 구동하지 않고, gunicorn을 이용해서 서버를 구동시키려 한다. 1. gunicorn을 사용하기 위한 static 설정 static을 모두 복사하기 위해 아래의 코드를 터미널에 입력한다. python manage.py collectstatic 그 다음, 아래의 라이브러리를 설치한다. pip install whitenoise pip freeze > requirements.txt 라이브러리를 설치하였으면, settings.py 와 urls.py에서 static 옵션을 수정 및 추가한다. # config/settings.py . . STATICFILES_STORAGE = 'whitenoise.stora.. [Docker] 로컬 환경에서 Django와 MySQL을 docker-compose로 구동 (with. .env파일생성) (1) 본인이 공부하기 위해 작성한 것이므로 오류가 있을 수 있습니다. 1. .env 파일 생성 mange.py 파일이 있는 경로에서 .env 파일을 새로 생성한다. pip install django-environ # 설치 위의 라이브러리를 설치한 다음, settings.py를 수정해야한다. # config/settings.py import environ, os env = environ.Env( DEBUG=(bool, False) ) # 경로에 있는 .env 파일 연동 environ.Env.read_env( env_file=os.path.join(BASE_DIR, '.env') ) # 장고 스페셜 키를 .env 파일에서 가져오기 SECRET_KEY = env('SECRET_KEY') 위의 코드를 settin.. [Docker] Docker 이미지 종류 (with. Python) 들어가기 앞서.. 로컬에서 개발을 한 후에, 로컬 내에 도커를 사용하려고 했지만, Dockerfile을 작성할 때 slim으로만 작성하고 있었다. 문득 여러 이미지 종류가 있는데 왜 slim만 사용했을까 라는 의문을 가지기 시작해서 도커의 이미지 종류에 대해서 공부해보려고 한다. 개인적인 공부 목적으로 작성한 것이므로, 잘못 이해하는 부분이 있을 수 있습니다. 1. 이미지 종류 name:version name:version-stretch name:version-buster name:version-jessie name:version-slim name:verseion-alpine 1) name:version 가장 기본이 되는 이미지로 보통 사람들이 무엇을 사용해야할지 모르는 상황일 때 해당 이미지를 사용한다.. 이전 1 ··· 34 35 36 37 38 39 40 ··· 44 다음