본문 바로가기

Archive/프로그래밍 언어13

[Python] Flask (1) Flask란?, CRUD의 구현 Flask란? Flask는 파이썬에서 사용 가능한 웹 프레임워크이다. Flask 환경을 통해 '가볍게' 웹을 만들 수 있다. Flask로 CRUD 구현하기 실제 과제로 구현한 코드와 함께 내용을 확인해보자. (Full code) from flask import Flask, jsonify, request app = Flask(__name__) menus = [ {"id":1, "name":"Espresso", "price":3800}, {"id":2, "name":"Americano", "price":4000}, {"id":3, "name":"CafeLatte", "price":4500} ] next_id = len(menus) + 1 # Home Directory @app.route('/') def he.. 2021. 5. 7.
[기본이론] defaultdict()의 활용법 참고 : dongdongfather.tistory.com/69 [파이썬 기초] 유사 딕셔너리 defaultdict() 활용법 defaultdict()는 딕셔너리를 만드는 dict클래스의 서브클래스이다. 작동하는 방식은 거의 동일한데, defaultdict()는 인자로 주어진 객체(default-factory)의 기본값을 딕셔너리값의 초깃값으로 지정할 수 있 dongdongfather.tistory.com 해당 내용을 바탕으로 정리하였다. 코딩테스트 문제를 풀다가, 때로는 리스트에 담아서 key를 부여하여 dict로 묶어서 한번에 정리하는 것이 편한 경우가 있고, (특히 그래프 문제에서 이것이 기본 세팅이다) 이를 위한 방법이 defaultdict이다. defaultdict는 collections에 있는 .. 2021. 4. 29.
[자료] Python으로 배우는 자료구조 (4) Heap 이번에는 Heap자료 구조형에 대해 정리한다. 출처 : 프로그래머스 어서와, 자료구조와 알고리즘은 처음이지? Heap의 정의 및 기본 연산 이진트리의 한 종류로 binary heap이라고도 부른다. Heap에서는 Max Heap이랑 Min Heap이 있다. 두 가지가 대칭적인 개념이므로, 여기서는 Max Heap을 기준으로 설명을 풀어나가려 한다. Max Heap의 전제 조건 - 루트 노드가 항상 최댓값을 가진다. - 완전 이진 트리이다. - 임의의 노드를 루트로 하는 서브트리 또한 최대 힙이다. 이러한 성질 때문에, 최대 힙의 경우는 완전히 크기 순서대로 정렬되어 있지는 않는다. 대신 완전 이진 트리를 유지해야 한다는 조건 때문에, Heap의 삽입과 삭제 연산의 시간 복잡도는 O(log n)의 형태를 .. 2021. 4. 21.
[기본이론] Mutable vs Immutable 데브코스를 들으면서 한번 언급이 되었는데 잘 모르고 있어서 찾아본 내용이다. 매우 중요한 사항이 많아 별도의 글로 정리하였다. 오늘의 주제 : mutable vs immutable / shallow copy vs deep copy 변수의 개념 기본적으로 변수는 객체를 가리킨다. num = 10이라고 하면, 컴퓨터 메모리에 10이 저장되고, num이라는 변수는 10이라는 정수형 객체를 가리킨다. immutable Immutable한 객체의 예시는 number, string, tuple등이 있다. 값이 변하지 않는 속성의 객체라는 의미인데. 다음을 통해 이해해보자. x = 1 y = x y += 3 print(x) # 1 출력 print(y) # 4 출력 위와 같은 상황을 고려하자. 세번째에서 y값을 변화시.. 2021. 4. 21.
[자료구조] Python으로 구현하는 자료구조 (3) Tree 이번에는 Tree와 BinaryTree에 대해서 알아보자. 출처 : 프로그래머스 어서와! 자료구조와 알고리즘은 처음이지? Tree의 기본 용어 Tree는 그래프의 특이한 형태 중 하나이다. 수학적으로 정의하면 회로, 즉 순환되는 부분이 없고 두 노드를 연결하는 간선이 많아야 1개인 구조이다. 사진을 통해 Tree의 예시 및 용어를 확인해보자. 설명을 위해 위키피디아의 트리 사진에 약간의 붙임을 달았다. - A : 최상단의 노드로, 트리의 루트 라고 부른다. - B와 C : B와 C를 부모 자식 관계라고 본다. B는 C의 부모 노드이다. C는 B의 자식 노드 중 하나이다. - 노드의 차수란, 가지고 있는 자식의 수이다. A와 B의 경우는 차수가 2인 것이다. - 자식이 하나도 없는 C의 경우는 말단 노드로.. 2021. 4. 21.
[자료구조] Python으로 구현하는 자료구조 (2) Stack & Queue 이번에는 스택과 큐에 관련된 내용을 정리하였다. 출처 : 프로그래머스 어서와! 자료구조와 알고리즘은 처음이지? 이번 장에서는, 스택의 응용인 연산자 관련 내용은 별도로 알고리즘 파트로 정리하고 스택과 큐의 구현부터 정리한다. Stack이란? Stack은 바닥이 막혀있는 항아리 형 구조라고 생각하면 편하다. 즉, 마지막에 들어온 것이 가장 먼저 빠져 나오는 구조이다. (Last in, First out) 형태의 구조이다. Stack에서 사용할 수 있는 연산들은 다음과 같다. 1. Stack의 길이를 반환하는 연산 : size 2. Stack이 비어있는지 확인하는 연산 : isEmpty 3. Stack에 원소를 넣는 연산 : push 4. Stack에 원소를 제거하는 연산 : pop (물론 비어있으면 Und.. 2021. 4. 20.