• 개요
  • 포스트
  • 시리즈
  • 소개
파이썬 자료형별 연산자의 시간복잡도

파이썬 자료형별 연산자의 시간복잡도

최근 사고력의 향상을 위해서 꾸준하게 알고리즘 문제를 풀어보고 있다. 당연 필자가 가장 자신있는 언어라고 생각하는 파이썬을 응용하고 있는데 시간초과가 생각보다 많이 발생했다. O(1)로 접근할 수 있는 요소를 O(n)으로 접근하는 등 기본기의 부족으로 인함으로 보였다. 그리하여 파이썬의 각 자료형의 연산에 대한 복잡도를 어지간하면 숙지해 놓으려고 한다. 출처 : https://www.ics.uci.edu/~pattis/ICS-33/lectures/complexitypython.txt 리스트 자료형 …

2020년 3월 4일 · 5 min read

RESTful API의 개념과 장고의 REST Framework

RESTful API의 개념과 장고의 REST Framework

기존 블로그의 글을 옮겨온 글임 From. 2019.10.15 제작중인 서비스형 블로그#의 발전을 위해서 RESTful과 프론트엔드 프레임워크의 도입을 시도하고자 하였다. RESTful API의 개념은 어느정도 알고 있었지만 이를 어떻게 장고에서 구현하여 활용하는지가 핵심적인 궁금증이다. BLEX — BLOG EXPRESS ME REST API란? REST는 Representational State Transfer의 약어로서 웹의 장점과 HTTP의 우수성을 제대로 활용할 수 …

2020년 3월 2일 · 8 min read

Pythonic이란 무엇인가?

Pythonic이란 무엇인가?

파이써닉(Pythonic) 파이썬스러운 코드라는 의미. 아주 잘 짜여진 Python 코드를 Pythonic 하다고 부른다. 파이썬스러운 코드라? 파이썬은 무엇보다 읽기 쉽고 가독성이 높은 것을 추구한다. 파이썬에선 가독성이 높은 코드를 작성하기 위해 파이써니스타(파이썬 베테랑)들이 가이드라인을 제시하고 있고 이러한 가이드라인을 잘 따르는 코드가 파이썬스러운 코드다. Hitchhiker's Guide to Python / PEP 8 위 홈페이지를 둘러보면 …

2019년 12월 10일 · 4 min read

파이썬으로 구현한 자료구조 - 트리

파이썬으로 구현한 자료구조 - 트리

트리(Tree) 리스트나 스택 또는 큐로 가계도나 조직도를 구현할 수 있을까요? 선형 자료구조로 계층형 구조를 표현하기 어렵습니다. 이처럼 계층형 구조를 가진 문제를 해결하기 위한 자료구조 형태가 트리입니다. 트리의 구조를 일정하게 제한하여 정의하면 트리의 연산이 단순하고 명확해진다. 전체 트리의 차수가 2 이하가 되도록 정의한 것이 이진 트리이다. 이 글에서 구현된 트리의 종류는 …

2019년 9월 3일 · 30 min read

파이썬으로 구현한 자료구조 - 큐

파이썬으로 구현한 자료구조 - 큐

큐(Queue) 은행에서는 먼저 기다린 손님을 우선으로 일을 처리해 줍니다. 이처럼 삽입 순서와 삭제 순서가 일치하도록 하는 자료구조를 큐라고 합니다. 앞서 익혔던 스택의 경우에는 늦게 들어온게 가장 먼저 나가는 방식인 LIFO 였으나 큐의 경우에는 스택과 다르게 선입선출, FIFO(First In First Out) 방식을 사용한다. 우리의 법치국가 사회에서 가장 많이 볼 수 있는 …

2019년 9월 3일 · 17 min read

파이썬으로 구현한 자료구조 - 스택

파이썬으로 구현한 자료구조 - 스택

스택... 지난번에 백준에서 현욱은 괄호왕이야!!!문제를 풀려고 했을때 지금 나올 스택을 활용하여 해결하고자 했으나, 역시 응용이 안됐다. 기본기의 부족때문일까... 스택 미로에서 길을 찾는 문제와 같이 삽입 순서와 삭제 순서를 역순으로 하여 풀어야 하는 문제들이 있는데, 이럴때 쓰는 자료 구조가 스택입니다. 스택의 예로는 대부분 팬케이크와 연탄에 빗대어 표현하곤 한다. 팬케이크는 아래로부터 차곡차곡 …

2019년 9월 2일 · 8 min read

파이썬으로 구현한 자료구조 - 연결 리스트

파이썬으로 구현한 자료구조 - 연결 리스트

이번에 코딩 테스트를 하면서 지금 내게 부족하다고 판단된건 자료구조의 대한 무지라고 생각된다. 어떤 문제를 보면 어떤 자료구조를 이용할지 떠오르지만 막상 적용하는데 어려움이 있다보니 결국 for문 부터 적게된다. 이번에 파이썬을 활용해서 연결리스트, 스택, 큐, 트리, 그래프와 같은 기본적인 자료구조를 구현해 볼 생각이다. 이번건 절대로 작심삼일로 끝나지 않을 것이다! 연결 리스트 연속된 …

2019년 9월 2일 · 26 min read

파이썬(Python) - 유전 알고리즘 - 가방 채우기 2

파이썬(Python) - 유전 알고리즘 - 가방 채우기 2

어제 만든 가방 채우기는 물건이 같은 부피의 같은 가치가 있는 물건이 끝없이 나열되어있고 가방에 크기에 알맞게 넣는 알고리즘이었다. 이번에는 중복없이 한개씩 제공되는 물건중에 무엇을 챙겨야 할 지 결정하는 알고리즘이다. (원래는 이게 목적이었는데 어제 중요한걸 빼먹어 버렸다.) 예로들어 어디론가 놀러 가거나 급박한 상황이 발생했을때 물건에 다음과 같이 부피와 가치를 지정할 수 …

2019년 3월 12일 · 11 min read

파이썬(Python) - 유전 알고리즘 - 가방 채우기 1

파이썬(Python) - 유전 알고리즘 - 가방 채우기 1

유전 알고리즘을 만들때 가장 먼저 해야할 일은 항상 evoluation 함수를 만드는 것이며 evaoluation 함수는 추악한 오리와 아름다운 백조를 분리하는 작업이다. 저번에 만들었던 소스코드는 굉장히 간단한 내용이었기에 큰 어려움이 없었다. 조금더 유전 알고리즘에 익숙해지기 위해서 새로운 소스코드를 작성하고자 한다. Project2. 배낭에 가장 효율적인 물건 채우기 가방의 공간은 10으로 한정 각 물건의 …

2019년 3월 11일 · 7 min read

파이썬(Python) - 유전 알고리즘 - 기본

파이썬(Python) - 유전 알고리즘 - 기본

이 블로그에서 이론을 참고했다. 책에 나와있는 것과 유사한 내용인데 좀 더 정리가 잘 된 내용인 것 같다. 간단하게 정리하면 이렇다. 용어 염색체 : 유전 정보를 담은 문자열 유전자 : 문자열의 유전 정보 교차 : 두 개의 염색체를 조합 돌연변이 : 확률적으로 유전자의 정보가 바뀜 자손 : 교차와 돌연변이로 생성된 염색체 …

2019년 3월 10일 · 10 min read