알고리즘(Python) 2

[Python] 시간복잡도, 공간복잡도

시간 복잡도 파이썬은 1초에 2천만번 정도의 연산을 한다고 생각하면 됨. N의 범위가 1,000,000인 경우 : O(logN)인 알고리즘을 설계하면 문제를 풀 수 있다. in 시간복잡도는 자료형에 따라 다름! list, tuple : O(n) - 하나하나 순회함 set, dictionary : O(1) ~ O(n) - hash를 통해 저장하므로 접근시간은 O(1). (단, 해쉬의 충돌이 많아 성능이 떨어지는 경우 O(n)이 걸릴 수도 있음.) 결론은 리스트말고 dictionary 쓰면 더 짧으니 추천! 공간 복잡도 보통 코딩테스트에서 128~512MB로 제한. int의 경우 약 리스트 길이가 100만개일때, 4MB 즉, 128MB일때 3200만개, 256MB일때 6400만개, 512MB일때 1억2800..

[Python] 자주쓰는 라이브러리, 함수 정리

Python 라이브러리, 함수 정리 절댓값 - abs() 제곱근 - math.sqrt() (math 라이브러리 필요) 거듭제곱 - math.pow(x,y) or x**y (x의 y승) 아스키 코드 변환 - ord(문자), chr(숫자) 리스트 속 값 인덱스 찾기 - list.index('값') 배열 속 문자 개수 셀때 - list.count(값) 배열 속 문자 삭제 list.remove('값') : 같은 값 처음발견된 하나만 지워줌 del list[index] : 특정 인덱스 삭제 list.pop(index) : 특정 인덱스 삭제 - 인덱스 생략 시 제일 마지막원소 삭제 정렬 특정기준 만들때 - list = sorted(list,key=lambda x:x[1]) >두번째 값 기준정렬 개행문자 제거 - ...