일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 셀레니움
- 파이썬
- 혁신성장부문
- Merge Repositories
- 2164 카드2
- Crawling
- 해시태그
- to shp
- 인스타그램
- string to list
- 코랩 런타임
- 괄호 문제
- python buildpacks
- flask
- kmeans
- geopandas
- 크롤링
- geoDataFrame
- NLP
- convert to shp
- 플라스크
- clustering
- 백준
- 알고리즘
- Python
- plotly dash
- colab runtime
- 웹페이지
- Chat-GPT
- Selenium
- Today
- Total
목록파이썬 (54)
코딩코딩코딩
x = 2021.09.11 00:02 y = 2021.09.11 00:00 type(x) >>> str datetime 형식으로 되어있지만 문자열인 경우 from datetime import datetime converted_x = datetime.strptime(x, "%Y.%m.%d %H:%M") converted_y = datetime.strptime(y, "%Y.%m.%d %H:%M") converted_x >>> 2021-09-11 00:02:00 형태로 변환됨. xy = converted_x - converted_y xy >>> Timedelta('0 days 00:02:00') xy.seconds >>> 120 Timedelta의 seconds를 구한 후에 몫, 나머지 혹은 나누기 연산자를 ..
sys의 readline 메서드를 사용하다보면 개행문자가 끝에 포함되어 있는데 이 문자를 처리하기 위해 strip()을 사용하면 됨 str.strip()은 문자열 양쪽 끝의 특정 문자를 제거해주는 역할을 함 input = sys.stdin.readline() a = list(input) print(f"a-> {a}") b = input.strip() print(f"b-> {b}") c = input.strip('\n') print(f"c-> {c}") >>> >>> XYZ a-> ['X', 'Y', 'Z', '\n'] b-> XYZ c-> XYZ b의 경우처럼 인자가 생략되어 없는 경우 기본문자인 공백을 제거함 c처럼 명시적으로 인자를 표시해줄 수도 있음
스택으로 접근해서 풀이 0인 경우 삭제할 수 있는 데이터가 무조건 존재한다는 가정이 있기 때문에 별도의 조건 필요 없음. import sys iter_num = int(sys.stdin.readline()) budget = [] for i in range(iter_num): x = int(sys.stdin.readline()) if x == 0: budget.pop() else: budget.append(x) print(sum(budget))
보통 python stack을 구현하는 연습을 할 때 대부분 class 를 이용하여 구현하기 때문에 이 문제의 경우 처음에 어떻게 접근해야 하는지 헷갈렸음. * input() 메서드를 사용할 경우 시간초과 되기 때문에 유의 sys.stdin 사용 방법 https://hansuho113.tistory.com/26 참고 import sys stack = [] for i in range(int(sys.stdin.readline())): order = sys.stdin.readline().split() if order[0] == "push": stack.append(order[1]) if order[0] == "pop": if len(stack) == 0: print(-1) else: print(stack.po..
힙은 최댓값 or 최솟값을 찾는 연산을 빠르게 하기 위해 고안된 완전이진트리를 기본으로 하는 트리 heap property: A가 B의 부모노드이면 A의 키값과 B의 키값 사이에는 대소관계가 성립 - 최소 힙(Min Heap): 부모 노드의 키값이 자식 노드의 키값보다 항상 작은 힙 - 최대 힙(Max Heap): 부모 노드의 키값이 자식 노드의 키값보다 항상 큰 힙 * 파이썬 힙 자료구조 heapq 모듈에서 heapq 알고리즘 제공 - heapq는 내장 모듈로 별도의 설치가 필요하지 않음 - 최소 힙 형태로 정렬됨 (0번째 인덱스부터 시작해 k번째 원소가 항상 자식원소들(2k+1, 2K+2)보다 작거나 같음) 힙 함수 명령어 - heapq.heappust(heap, item): item을 heap에 추..
컴퓨터는 문자도 0과 1의 숫자로 기억하는데, 이 때 통상적으로 숫자와 어떤 문자를 대응시키는가에 따른 인코딩 방식으로 아스키 코드 방식을 많이 사용함 표준 아스키 코드는 0~127번까지만 사용 128~255 특수 문자 0~127 자주쓰는 문자 0~31 특수제어코드 숫자 0~9 (ASCII): 48 ~ 57 알파벳 A~Z (ASCII): 65 ~ 90 알파벳 a~z (ASCII): 97 ~ 122 파이썬에서 이를 활용하여 아스키코드를 문자열로 / 문자열을 아스키코드로 변환하는 함수가 각각 chr, ord 임 print(ord('a')) >>> 97 print(chr(97)) >>> 'a' 종종 문자열 알고리즘 문제를 풀다가 보면 a~z까지의 문자가 필요한 경우가 있는데, 이 때 아스키코드를 활용하면 ['..