sys.setcursionlimit(10**7) 재귀함수 최대 호출 횟수 증가 파이썬은 재귀함수 호출 횟수가 1000으로 제한되어 있기 때문에 이 작업을 해줘야 한다. sys.stdin.readline() 읽는 속도를 input 보다 더 빠르게 하기 위함 시간복잡도 배열.index() → O(N) sort() → O(NlogN) - 딕셔너리에서 key 값으로 value 값을 찾는 연산 → O(1) counter 내부 원소가 몇 번 등장했는지를 세서 알려줌 dict 형태로 출력됨 from collections import Counter list = ['Hello', 'WORLD', 'Hello'] print(Counter(list)) #결과 출력 Counter({'Hello': 2, 'WORLD': 1})..
두 함수의 공통점 모두 데이터를 필터링할 때 사용한다. HAVING 그룹을 나타내는 결과 집합의 행에 적용된다. = 그룹을 필터링한다. 집계함수(COUNT, AVG, SUM, MIN, MAX 등)와 함께 사용할 수 있다. 원하는 조건의 결과만 필터링할 수 있다. GROUP BY 절과 함께 사용해야 한다. 집계함수(COUNT, SUM, AVG, MAX, MIN 등)를 사용하여 조건을 부여한다. AND, OR을 사용하여 여러 조건을 동시에 부여한다. GROUP BY 절 뒤에 사용한다. = 이미 조회된 내용을 다시 그룹핑한 후 다시 필터링할 때 쓰는 구문 그룹화 혹은 집계가 발생한 후 필터링할 때 사용한다. WHERE 개별 행에 적용된다. = 행을 필터링한다. GROUP BY 절 앞에 사용한다. SELECT문..
MySQL 작성 시 == 을 사용하지 않고, =를 사용하기 날짜를 비교할 때는 LIKE 를 주로 사용하기!! (비슷한 것도 다 가져옴) %가 들어간다면 무조건 LIKE!!!! Join 사용 시 JOIN 을 사용할 때는 SELECT 일 때도 가져오는 칼럼 앞에A.~~ B.~~를 붙여주기 만약 SELECT 에서 A라는 칼럼을 가져왔을 때, 살펴보니까 A라는 칼럼 안에 중복되는 값이 있고 묶어야 하는 상황이다? 그러면 무조건! GROUP BY로 해서 묶어주기!!
IN WHERE 칼럼명 IN ('데이터1', '데이터2', '데이터3') 여러 개를 한번에 묶어서 표현할 때 사용한다. OR WHERE OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%가죽시트%' 하나씩 OR 조건을 매길 때 사용한다. REGEXP_LIKE WHERE REGEXP_LIKE(OPTIONS,'통풍시트|열선시트|가죽시트')
이분탐색의 원리 Up & Down 게임을 떠올리면 이해하기가 쉽다. 1~100 까지의 수가 있다고 가정할 때, 특정한 수를 정해놓고 그 수보다 up인지 down인지를 계속해서 계산한다. 그리고 중간 값을 통해 범위를 좁혀나간다. 시간복잡도 시간 복잡도는 O(logN)이다. low, high mid = (low + high) /2 #수가 mid 보다 작을 때 high = mid - 1 #수가 mid보다 클 때 low = mid + 1 #key = mid 이면 끝!