전체 글
-
파이썬 알파인 이미지란 무엇일까?파이썬/Etc. 2021. 1. 8. 13:01
유데미 아카데미 drf 프로젝트 수강중에 python:3.7-alpine 이미지를 도커 컨테이너에 올리는 챕터가 있었다. 그래서 이번 기회에 alpine이 도대체 무엇인지 알아본다! hub.docker.com/_/python python - Docker Hub We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy pol..
-
[백준] 1068번 트리 파이썬알고리즘/백준 2020. 12. 30. 23:57
문제 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 풀이 1. 노드 클래스와 트리 클래스를 기본적으로 틀을 짜줍니다. 2. 트리 클래스에 깊이 우선 탐색 알고리즘을 이용하여 현재 노드에서 자식노드가 지워줄 노드가 같다면 해당 자식을 리스트에서 제거합니다. 3. 이때 루트 노드와 지워줄 노드가 같다면 트리의 root를 none으로 바꿔주고 예외 처리로 0을 출력해줍니다. ( 루트 노드부터 지운다면 트리 전체가 없어진다는 뜻) 4. 그후 다시 트리 전체를 깊이 우선 탐색하여 현재의 노드가 자식이 없을 경우..
-
[백준] 14502번 연구소 파이썬알고리즘/백준 2020. 12. 29. 20:22
문제 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 1. 우선 벽 3개를 무조건 세워야 하기 떄문에 완전탐색으로 케이스마다 벽 3개를 세워줍니다. 2. 그다음에 너비 우선 탐색으로 케이스 마다의 안전 영역 크기를 구합니다. 3. 케이스 마다의 안전 영역 크기중에 가장 큰 수를 리턴합니다. 코드 from copy import deepcopy from collections import deque from itertools import combinations dxy = [[0, 1], [0, -1], [1, 0], [-1..
-
자료 구조 한방에 정리자료구조 2020. 12. 15. 23:33
자료구조 한방에 정리 주기적으로 자료구조의 핵심 특징들을 머리에 되새김 하기 위해서 이렇게 한방에 자료구조를 정리하는 포스팅을 올린다! 목차 1. Array 2. Linked List 3. Stack 4. Queue 5. Hash Table 6. Graph 7. Tree Array Array는 물리적 주소와 논리적 주소 같은 자료구조이다. 장점 인덱스 로 접근하며 원소 접근이 O(1)로 빠르다. 구현이 쉽다. 단점 삽입, 제거시 뒤의 원소들을 앞으로 이동시켜 주어야 하므로 비용이 크다 크기가 정해져 있어 한정적이다. 원소가 삭제되면 그 자리가 비어버리므로 공간이 낭비된다. 이미지 출처: https://beginnersbook.com/2018/10/data-structure-array/ Linked Lis..
-
REST API 탄생 배경과 특징웹 2020. 11. 12. 00:04
REST API 배경 REST는 REpresentational State Transfer의 약자로 2000년도 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개 로이 필딩은 HTTP의 주요 저자중 한 사람으로서 웹(HTTP) 설계의 우수성에 비해 제대로 사용되지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍쳐로써 REST를 발표 REST의 구성 자원(Resource): URI 행위(Verb): HTTP METHOD 표현(Representations) REST의 특징 1. Uniform Interface(유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스를 수행하는 아키텍쳐 스타일을 말함 2. S..
-
Pipenv란??파이썬/Etc. 2020. 10. 22. 20:58
pipenv (Python Development Workflow for Humans) pipenv란? pip와 virtualenv가 합쳐인 이름으로 python.org에서 공식적으로 권장하는 패키지 설치툴 pip와 virtualenv이 가진 문제점들을 해결하기 위함 pip의 특징 필요한 것만 정의 하면서, 파일에 정의된 대로 빌드가 가능 pipfile이 없으면 자동으로 생성 pipfile을 찾으면서 자동으로 프로젝트 홈을 찾아줌 자동으로 virtualenv 환경을 생성 패키지를 설치 또는 삭제하면 자동으로 pipfile에서 추가 또는 삭제가 됨 자동으로 .env 파일을 인식 쉽게 말해서, python 프로젝트를 관리할때 pip와 virtualenv를 동시에 사용하는 것 보다 훨씬 편리하다. 하나의 Bub..
-
Doubly Linked List자료구조 2020. 10. 6. 21:38
Doubly Linked List 기존의 단순 연결리스트는 일련의 요소들을 다룰떄에 효과적이지만, 단점이 있습니다. 연결리스트를 운행할 때에 링크에 반대쪽으로 운행할 필요가 있을 경우에도 항상 연결리스트 첫 노드로 이동한 후 운행을 다시 시작하는 불편함이 있습니다. 그러나, 이중 연결 리스트는 이러한 단점을 없애기 위해서 노드에 prev 에 이전 노드를 참조하도록 합니다. Node Class class Node: """ 가볍고, 논퍼블릭한 이중 연결 리스트 노드 """ __slots__ = '_element', '_prev', '_next' def __init__(self, element, prev, nxt): self._element = element self._prev = prev self._next..
-
Singly Linked List자료구조 2020. 10. 3. 01:07
Singly Linked List 싱글 링크드 리스트는 선형구조 형태인 노드들의 집합입니다. 각 노드는 시퀀스의 요소인 객체에 대한 참조를 저장합니다. 자신의 다음 노드를 참조( next )합니다. 싱글 링크드 리스트의 첫번째와 마지막 노드는 head 와 tail 입니다. head 먼저 시작해서 각 노드에 참조에 따라 다른 노드로 이동하면서 최종적으로 tail노드에 도달할 수 있습니다. 일반적으로 이 프로세스를 Linked List traversing 이라고 합니다. 노드의 next 참조가 다른 노드에 대한 링크 또는 포인터 로 보여질 수 있기 떄문에, 리스트 traversing 처리는 link hopping 또는 pointer hopping 이라고 합니다. 싱글 링크드 리스트 헤드 요소 삽입 싱글 링크..