일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- python buildpacks
- geopandas
- 백준
- 웹페이지
- Selenium
- flask
- colab runtime
- Chat-GPT
- plotly dash
- 해시태그
- 코랩 런타임
- clustering
- 파이썬
- kmeans
- 혁신성장부문
- Merge Repositories
- 인스타그램
- to shp
- convert to shp
- geoDataFrame
- string to list
- 크롤링
- 셀레니움
- Crawling
- 2164 카드2
- 플라스크
- 알고리즘
- Python
- 괄호 문제
- NLP
- Today
- Total
목록파이썬 (54)
코딩코딩코딩
sys.stdin.readline() 사용법 큐 관련 문제들은 시간제한을 굉장히 타이트하게 준다. 가장 기본적인 list 풀이도 deque와 굉장히 큰 성능차이를 보이는데, 이러한 문제에서는 입력값을 받는 것에도 신경써야 한다. 입력값을 반복적으로 여러 줄 입력받아야 한다면 input()이 아니라 sys.stdin.readline()을 사용해야 한다. * 다만 readline()은 줄 별로 입력받기 때문에 개행문자가 같이 받아지므로 주의해야 한다. ( int() 사용 ) import sys 1. 한 개의 정수를 한 줄에 입력받을 때 N = int(sys.stdin.readline()) 2. 여러 개의 정수를 한 줄에 입력받을 때 N_list = list(map(int, sys.stdin.readline(..
리스트의 첫 원소를 지우고 그 다음 원소를 맨 뒤로 보내는 간단한 문제였다. 처음에는 list의 pop과 append를 사용했었는데 시간초과가 떠서 다시 찾아보니 deque를 사용해서 풀어야 하는 문제였다. 처음 풀었던 것처럼 list.pop(0)을 하게되면 뒤에 남은 원소들을 모두 앞으로 땡겨오기 때문에 시간복잡도가 O(N)이 되는 반면에 deque의 leftpop을 사용하면 제거하고 뒤 원소들의 메모리를 건드리지 않기 때문에 시간복잡도가 O(1)이 되어 속도면에서 압도적이다. N의 크기가 커질수록 deque의 성능이 우수해지며, 특히 left관련 함수의 경우에 차이가 두드러진다. num = int(input()) from collections import deque cards = deque(range..
Stack 활용 * Stack은 LIFO(Last In First Out)의 형태를 갖는 자료구조 - Push, Pop 등의 메서드 이용 1. 입력받은 문자열을 앞에서부터 순차적으로 하나씩 접근 * 문자열은 크게 여는 괄호 "(", 닫는 괄호 ")" , 기타(문자) 로 이루어져 있음 2. (1) stack을 만들어두고 "("가 나오면 하나씩 push - 파이썬에서는 리스트의 append, pop을 활용하면 됨 (2) last_check = 0 이라는 변수를 만들어 둠 --> 마지막에 닫는 괄호 ")" 가 오는 경우 대비 3. ")" 가 나왔을 때 스택에서 하나씩 pop함 --> 담아뒀던 여는 괄호 "("가 하나씩 빠짐 - 예외 상황 - stack이 비어있는 경우 - 입..
geopandas는 pip, conda 두 가지 방법으로 설치가 가능한데, conda의 경우 가상환경을 설정해줘야 하는 등의 번거로운 점이 있어서 pip 설치 방법을 설명하고자 합니다. ** jupyter notebook에서 사용하고자 한다면 어쩔 수 없이 conda를 사용해야 하므로 가상환경 설정을 해주어야 합니다. 아래에 설명해뒀습니다. 먼저 사용 중인 pc의 windows 비트(32/64)와 python 버전을 아셔야 합니다. 그리고 geopandas 설치에 필요한 wheel 파일을 다운받으셔야 하는데, 아래의 것들을 다운받으시면 됩니다. 아래 링크에서 ctrl + F를 이용해서 사용하시는 버전과 맞게 다운로드 하시면 됩니다. https://www.lfd.uci.edu/~gohlke/pythonli..
입력 형식 : 3 # 테스트 케이스(3번 테스트) 1 0 # 1개의 문서, 출력하고자 하는 문서의 순서는 0번째 5 # 1개 문서의 중요도 4 2 # 4개의 문서, 출력하고자 하는 문서의 순서는 2번째 1 2 3 4 # 4개 문서의 중요도 6 0 # 6개의 문서, 출력하고자 하는 문서의 순서는 0번째 1 1 9 1 1 1 # 6개 문서의 중요도 * 단, 문서의 순서를 나타내는 수는 0부터 시작 처음에는 key-value로 출력하고자 하는 문서의 순서를 기억하고자 했으나, 괜히 다루기 복잡해지는 것 같아서 단순 list in dex로 접근 logic : input으로 받은 테스트케이스만큼 for문을 통해 문서 개수와 중요도를 입력받음 각 for문 iteration 내에서 items(문서 중요도 리스트), ..