구간 합 첫 게시글로 이동하기 11660 👻접근 질의 개수 (M) 이 최대 100,000 이기 때문에 질의마다 합을 구하면 시간 복잡도가 올라가므로 구간 합 배열을 이용해야함. 2차원 구간 합 배열 D[X][Y] 정의 D[X][Y] = 원본 배열의 (0,0) 부터 (X,Y) 까지의 사각형 영역 안에 있는 수의 합 풀이 질의 X1,Y1, X2,Y2 에 대한 답을 구간 합으로 구하는 방법 D[X2][Y2] - D[X1-1][Y2] - D[X2][Y1-1] + D[X1-1][Y1-1] 코드 import sys input = sys.stdin.readline N,M = map(int,input().split()) A = [[0] * (N+1)] # 2차원 원본 배열 D = [[0] * (N+1) for _ in..
Sol ∞ Universe
구간 합 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘 합 배열을 구하는 것이 중요 리스트 A 가 있을 때 합 배열 S S[ i ] = A[ 0 ] + A[ 1 ] + A[ 2 ] + ··· + A[ i-1 ] + A[ i ] # A[0] 부터 A[i] 까지의 합 합 배열을 미리 구해 놓으면 기존 리스트의 일정 범위의 합을 구하는 시간 복잡도가 O(N)에서 O(1) 로 감소 A[i] 부터 A[j] 까지 리스트 합을 합 배열 없이 구할 경우 최악의 시간 복잡도는 O(N) 이 된다. 합 배열 공식 S[ i ] = S[ i-1 ] + A[ i ] 구간 합 구하는 공식 S[ j ] - S[ i-1 ] # i에서 j까지 구간 합 11659 11659번: 구간 합 구하기 4 첫째..
네이버 금융에서 기업의 실적 데이터를 크롤링하기. 주요재무정보에 해당하는 값들 중 가장 최근 년도의 데이터를 불러올 것이다. 우선 주요재무정보 지표 리스트를 먼저 뽑아보았는데.. idx = [] url = 'https://finance.naver.com/item/main.naver?code=066570' res = requests.get(url) soup = BeautifulSoup(res.text,'html.parser') section = soup.find_all('tbody')[2] for n in range(8,23+1): idx.append(section.find('th', attrs={'class':f'h_th2 th_cop_anal{n}'}).get_text()) idx h_th2 th_co..
저번 피드에서 다뤘던 할리스 매장 정보 크롤링 코드를 수정한 후 SQL DB에 저장해 보겠다 저번 피드로 이동하기 ↓↓ [크롤링] 할리스 커피 매장 정보 크롤링 https://www.hollys.co.kr/store/korea/korStore2.do?pageNo=10&sido=%EC%84%9C%EC%9A%B8&gugun=&store= 할리스 HOLLYS www.hollys.co.kr 크롤링 해올 할리스 페이지 라이브러리 Import from bs4 import BeautifulSoup import urllib.request import time aibigdata-x-sol.tistory.com 라이브러리 from bs4 import BeautifulSoup import urllib.request impo..
https://www.hollys.co.kr/store/korea/korStore2.do?pageNo=10&sido=%EC%84%9C%EC%9A%B8&gugun=&store= 할리스 HOLLYS www.hollys.co.kr 크롤링 해올 할리스 페이지 라이브러리 Import from bs4 import BeautifulSoup import urllib.request import time import pandas as pd 페이지 HTML 가져오기 page_num = 10 # 페이지 넘버를 변수로 설정 url = f'https://www.hollys.co.kr/store/korea/korStore2.do?pageNo={page_num}&sido=%EC%84%9C%EC%9A%B8&gugun=&store=' ..