일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DFS
- BFS
- linux
- OS
- 파이썬
- 프로그래밍
- 그래프
- nlp
- 구글 킥스타트
- google coding competition
- 리눅스
- 딥러닝
- CSS
- 네트워크
- AI
- 프로그래머스
- kick start
- 킥스타트
- 운영체제
- 코딩
- dp
- 동적 프로그래밍
- 브루트포스
- 동적프로그래밍
- 순열
- 백준
- 코딩테스트
- 코딩 테스트
- 알고리즘
- PYTHON
- Today
- Total
목록Language/파이썬 (22)
오뚝이개발자
파이썬 내장함수 중 chr(), ord()를 사용하면 문자와 아스키 코드를 서로 변환할 수 있다. chr()은 숫자를 문자로, ord()는 문자를 숫자로 변환시켜 준다. 여기서 말하는 숫자는 아스키 코드표에서의 숫자이다. 아래 예시를 참고해보자. print(chr(65))# A print(ord('A'))# 65 응용해서, 만약 C가 A로부터 얼마나 떨어져있는지를 알고싶다면 아래와 같이 계산할 수 있다. print(ord('C')-ord('A'))# 2
프로그래머스에서 코딩 문제를 풀다가 heap을 써서 풀어야 만족할 수 있는 문제를 접했다...(반드시 모듈을 import해서 풀도록 유도하는 문제는 그리 좋은 것 같지 않지만....) 공부도 할겸 파이썬에서 heap을 사용하는 법을 정리해본다. 사실 정확히는 heapq이다. 풀이를 찾아보니 아래와 같이 코드를 구현하면 된다. 여기서 핵심인 heapify, heappop, heappush에 대해 알아보자. import heapq as hq def solution(scoville, K): hq.heapify(scoville) answer = 0 while True: first = hq.heappop(scoville) if first >= K: break if len(scoville) == 0: return ..
파이썬 내장함수 중 any()와 all()이 있다. 둘은 아큐먼트로 iterable한 객체를 받는데 이 객체를 돌면서 조건을 검사해 답을 True/False의 답을 반환한다. any() : 하나라도 True인게 있으면 True all() : 모두 True여야 True 반환 쉽게 생각해 any는 or, all은 and 연산이라 보면 된다. >>> any([False, False, False]) False >>> any([False, True, False]) True >>> all([False, True, False]) False >>> all([True, True, True]) True if 조건과 함께 다음과 같이 사용할 수도 있다. cur = 3 temp = [1,3,6,2] if any(cur
파이썬의 sorted()는 정렬 조건을 설정해줄 수 있다. 여러 개의 요소를 갖는 튜플을 원소로 갖는 리스트라면 두 번째 요소값을 기준으로 정렬한다던가 혹은 lambda 함수를 이용하면 다중 조건으로 설정해줄 수도 있다. a = [(4,0), (4,3), (4,2), (3,2), (2,1), (1,0)] # 인자 없이 sorted()를 사용하면 리스트 아이템의 각 요소 순서대로 정렬 # 첫 번째 요소가 같으면 두 번째 요소로 비교 b = sorted(a) print(b) # [(1, 0), (2, 1), (3, 2), (4, 0), (4, 2), (4, 3)] # key인자에 lambda 함수를 넘겨주면 반환값을 가지고 비교해 정렬 # 이 때, key로 전달되지 않은 요소에 대해선 정렬하지 않음 c = ..
파이썬에서 리스트를 정렬해야하는 경우가 많다. 이 때 사용할 수 있는게 .sort()와 sorted()이다. 여기선 sort()와 sorted()의 차이 그리고 오름차순, 내림차순으로 정렬하는 방법을 살펴보자. sort()와 sorted() a = [1, 5, 3, 8, 4] a.sort() print(a) # [1, 3, 4, 5, 8] b = [1, 5, 3, 8, 4] print(sorted(b)) # [1, 3, 4, 5, 8] print(b) # [1, 5, 3, 8, 4] sort()는 리스트형의 메소드이고, sorted()는 파이썬 내장함수이다. a.sort()라고 했을 때 원래의 리스트 a의 결과가 정렬된 형태도 변경되어 저장된 것을 알 수 있다. 이에 반해, sorted(b)의 경우 리스..
AI를 구현하다보면 많은 이미지 데이터들이 필요한데 크롤링을 통해 손쉽게 이미지를 저장할 수 있다. 물론 request를 사용하여 html 구조를 분석한 뒤 해당 이미지를 긁어오는 방법도 있지만 이미 만들어진 google_images_download라는 편리한 모듈이 있다. 여기선 해당 모듈의 설치방법과 사용예시를 설명한다. 참고로 pip install google_images_download를 사용해 이미 해당 모듈을 설치했다면 pip uninstall로 삭제를 한뒤 아래의 설치를 진행해야 한다.(업데이트로 인해 기존의 방법으로 설치했을 경우 크롤링이 안되는 에러가 발생한다) 설치하기 커맨드 창에 "pip install git+https://github.com/Joeclinton1/google-imag..
파이썬엔 set이라는 자료형이 있다. set은 영어로 "집합"을 뜻하는데 수학적으로도 알 수 있듯이 특징은 크게 다음의 두 가지이다. 순서가 없다. 중복을 허락하지 않는다. 1번 특징) list의 경우 for문을 사용해 원소에 접근하면 모든 원소들을 순차적으로 탐색할 수 있다. 하지만 set은 다르다. 동일하게 for문을 사용하여 원소에 접근하면 어떤 것이 먼저 나올지 모른다. 2번 특징) 집합은 중복원소를 허용하지 않는다. 따라서 set에 중복된 원소를 삽입하면 자동으로 중복제거가 된다. 즉 모든 값들은 unique하다. set의 선언 list나 dict는 다음과 같이 선언한다. l = []# list 자료형 d = {}# dict 자료형 set도 dict와 똑같은 {}를 사용한다. 따라서 중괄호만으로..
파이썬의 numpy 모듈에서 머신러닝을 할 때 자주 사용하는 것으로 np.random이 있다. 이 중 자주 사용하는 4가지에 대해서 정리해보려고 한다. numpy모듈은 다음과 같이 import 한다. import numpy as np np.random.choice() 주어진 1차원 배열에서 임의의 샘플을 생성한다. import numpy as np a = np.random.choice(5, 3) print(a) b = np.random.choice(10, (2, 3)) print(b) c = np.random.choice([0, 3, 5, 7], 3) [4 0 2] [[0 2 1] [4 7 2]] a는 np.arange(5)에서 3개의 샘플을 뽑아 만든 1차원 배열이고, b는 np.arange(10)에서..