일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 빅데이터
- MySQL
- 토이프로젝트
- SQL 문법
- SQL
- 해킹실습
- 필기
- SQL 정리
- 알고리즘
- 문제풀이
- 데이터베이스
- 스파크
- 코딩테스트
- 모의해킹
- 이클립스
- 프로그래밍
- 엘라스틱서치
- 백준
- 기초
- 스프링
- 데이터프로그래밍
- 위클리챌린지
- 프로그래머스
- 자바
- 문법
- 스프링부트
- 파이썬
- 오라클
- 리눅스마스터 2급 2차
- c언어
- Today
- Total
목록프로그래밍 이론/Python (19)
개발일기

힙은 특정한 규칙을 가지는 트리이다. 최소값과 최대값을 찾는 연산을 빠르게 하기 위해 만들어진 완전이진트리를 토대로한다. # 최소 힙 : 부모 노드의 키 값이 자식 노드의 키 값보다 항상 작은 힙 # 최대 힙 : 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큰 힙 파이썬 힙 자료구조 파이썬의 heapq 모듈은 heapq (priority queue) 알고리즘을 제공한다. 모든 부모 노드는 그의 자식 노드보다 값이 크거나 작은 바이너리 트리(이진트리) 구조이다. 0의 인덱스를 시작으로 k번재 원소가 항상 그의 자식원소인 2k + 1, 2k + 2 보다 작거나 같은 최소 힙 형태로 정렬된다. heapq 모듈은 별도의 설치 없이 import 를 통해 바로 사용할 수 있다. 힙 관련 함수 heapq.hea..

https://hanmingi.tistory.com/159 defaultdict( ) 클래스는 위 글에서 살펴본 딕셔너리를 만드는 dict 클래스의 서브 클래스이다. 작동방식은 dict 클래스의 방식과 거의 비슷한데, defaultdict 인자로 주어진 객체의 기본값을 딕셔너리 값의 초기값으로 지정하여 사용할 수 있다. # 사용 방법 >>> from collections import defaultdict >>> dict = defaultdict(int) >>> dict["key1"] 0 >>> dict { "key1" : 0 } 위와 같이 dict를 int형으로 지정하게 되면 값을 지정하지 않은 키는 그 값이 0으로 지정된다. >>> dict["key2"] = "test" >>> dict { "key1"..

# 해시 - Key Value 쌍으로 데이터를 빠르게 찾아 문제를 해결한다. 프로그래머스에서 해시에 관한 문제는 Key Value 쌍으로 데이터를 찾아 문제를 해결 하도록 되어 있다. 이 때 많이 사용하는 것이 딕셔너리다. # 딕셔너리란? 사람은 누구든지 "이름" = "한민기", "생일" = "10월 08일" 등으로 구별할 수 있다. 파이썬도 이처럼 대응 관계를 나타낼 수 있는 자료형을 가지고 있다. 파이썬 뿐만 아니라 C언어, JAVA 등의 요즘 사용하는 대부분의 언어도 이러한 대응 관계를 나타내는 자료형을 가지고 있는데, 이를 연관 배열 또는 해시라고 한다. 파이썬에서는 이러한 자료형을 딕셔너리라고 부른다. 딕셔너리를 직관적으로 해석하면 사전이라는 뜻이 된다. 즉 "people" 이라는 단어에 "사람..

문자열을 뒤집는다는 의미는 Hello 라는 단어를 입력했을 때 olleH로 역순으로 출력한다는 의미이다. 문자열을 뒤집는 방법은 크게 3가지가 있다. 문자열 자르기 슬라이싱을 이용한 방법 reversed 함수를 이용한 방법 반복문을 사용하여 하나씩 추가하는 방법 # 슬라이싱을 이용한 방법 slice는 문자열을 자르고 붙일 때 사용할 수 있는 편리한 파이썬 함수이다. slice에 대해선 이전에 정리한 글이 있어 참고하면 이해하기가 훨씬 편할 것 같다. https://hanmingi.tistory.com/16?category=836307 [파이썬 문법] 문자열 인덱싱, 슬라이싱에 대해 알아보자 문자열 인덱싱과 슬라이싱 문장에서 단어를 뽑아내고 싶거나 문자열을 원하는 크기만큼 자르고 싶을 때 사용하는 기법 *..

Colab 링크 : https://colab.research.google.com/notebooks/welcome.ipynb?hl=ko Google Colaboratory colab.research.google.com 줄여서 Colab 이라고 하는 Colaboratory를 사용하면 브라우저에서 Python을 작성하고 실행할 수 있다. Colab은 구성이 필요하지 않는다는 점, GPU 무료 액세스, 간편한 공유 라는 장점이 있다. Colab은 Python 스크립트를 실행할 수 있는 코드 셀 입니다. # Colab 사용하기 Colab을 사용하기 Python 스크립트를 실행하기 위한 GPU를 할당 받는다. # 할당 받은 GPU의 성능 알아보기 1 !grep . /etc/*-release cs 명령어를 통해 우리..

빅데이터 분산처리 플랫폼 아파치 스파크를 한 마디로 정의하면 "빅데이터 처리를 위한 오픈소스 분산 처리 플랫폼" 이라고 표현할 수 있다. 또한 빅 데이터란? "기존 데이터베이스 관리도구의 능력을 넘어서는 대량의 정형 또는 심지어 데이터베이스 형태가 아닌 비정형의 데이터 집합조차 포함한 데이터로부터 가치를 추출하고 결과를 분석하는 기술"이라고 위키피디아에 정의되어 있습니다. 기존에는 정형 데이터를 RDBMS를 사용하여 큐잉, 샤딩 등의 방식으로 처리하였는데 데이터의 양이 급격하게 증가함에 따라 사진, 공영상 등을 포함하여 대용량의 다양한 데이터를 고속으로 처리해야 되는 환경에 직면하였다. 이를 효율적으로 처리하기 위해 등장한 것이 "빅데이터 분산처리 플랫폼" 이다. 지금부터 살펴볼 아파치 스파크는 빅데이터..

파이썬으로 네이버 카페 데이터 크롤링하기 1편 : https://hanmingi.tistory.com/60 파이썬으로 네이버 카페 데이터 크롤링 하기 (1) # 준비하기 먼저 크롬을 활용한 웹 크롤러를 만들기 전 현재 사용하고 있는 크롬의 버전과 맞는 Chromedriver를 설치 해야한다. 설치는 공식 홈페이지인 : https://chromedriver.chromium.org/ ChromeDriver - Web.. hanmingi.tistory.com # 페이지 이동 함수 구현 1 2 3 4 def move_page(page): key_url = 'https://cafe.naver.com/casuallydressed?iframe_url=/ArticleList.nhn%3Fsearch.clubid=1994..

# 준비하기 먼저 크롬을 활용한 웹 크롤러를 만들기 전 현재 사용하고 있는 크롬의 버전과 맞는 Chromedriver를 설치 해야한다. 설치는 공식 홈페이지인 : https://chromedriver.chromium.org/ ChromeDriver - WebDriver for Chrome WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server that implement..