본문 바로가기

PYTHON

파이썬 매직 메서드, Python Magic Method Cheatsheet. Magic Method Python Concept Sentence __getitem__(key) 첨자형 객체 Subscriptable Object : 인덱싱이나 슬라이스에서 사용된다. object[key] object[i:j] object[i:j:k] __enter__() __exit__() 컨텍스트 매니저 Context Manager : 주로 리소스관리를 위해 사용된다. 일반적으로 할당된 리소스를 모두 해제할 때 사용한다. with object: __iter__() __next__() 이터러블 객체 Iterable Object : 반복가능한 객체. 예를 들면 for문을 사용해 값을 반복적으로 가져올 수 있는 list, tuple, set, dict이 여기에 해당한다. 내장 반복형 객체만 말하는 것이 아.. 더보기
Sieve of Eratosthenes, 에라토스테네스의 체 에라토스테네스의 체Sieve of Eratosthenes는 2부터 n까지의 숫자 중 모든 소수prime number를 찾기 위한 간단한 알고리즘이다.1. 오름차순으로 2 부터 n까지의 모든 숫자를 set={ 2, 3, ..., n} 집합에 갖고있다.2. 아직 처리하지 않은 숫자 중 가장 작은 숫자를 선택한다.3. 해당 숫자의 배수들을 집합에서 모두 지운다. 4. 2로 돌아간다. 끝. 위의 방법으로 모든 합성수들을 집합에서 지울 수 있다. 하지만 2-4번을 N번 반복하는 코드를 작성한다면 O(n**2)시간이 걸릴 것이다. O(n log log n) 시간 걸리는 코드를 작성하기 위해서는 합성수composite number를 제거하는 동작의 중복을 줄이면된다.- 모든 합성수composite number 는 최.. 더보기
Binary search, 이진 탐색 리스트 A = [ 0, 1, ,2, 3 ] 이 있을 때, 마지막 원소인 '3'을 찾는다고 해보자. Simple search, 단순 탐색의 경우처음부터 순차적으로 원소 값을 확인한다. 마지막에 위치하고 있는 원소인 '3'을 찾기 위해서는 리스트의 길이와 같은 시간이 걸린다. 리스트의 길이와 같은시간을 O(n), linear time 선형시간 이라고 한다. Binary search, 이진 탐색은리스트의 중간에 있는 원소의 크기에 따라 탐색할 구간(range)를 반씩 줄여나가 O(log n), logarithm time 로그 시간이 걸리는 방식이다. 만약 100개의 원소를 가지고 있는 리스트라면 탐색할 구간이 100 에서 50, 25, 13, 7, 4, 2, 1 순으로 줄어든다. 따라서, A의 중간에 위치한 .. 더보기
Day 1: Interquartile Range HackerRank 10 days of statistics: Day 1 note taking Interquartile Range Quartiles = 3 points which divide an array into 4 equal range. quartile Q1 Q1 >= 25% of the dataQ2 Q2 >= 50% of the dataQ3 Q3 >= 75% of the data Interquartile Range Q3-Q1 Interquartile Range(사분위 범위): the difference between first(Q1) and third(Q3) quartiles. def median(arr): N = len(arr) if N%2==0: return (arr[(N//2)-1]+arr[N.. 더보기
Day 0: mean, median, mode, weighted mean HackerRank 10 days of statistics: Day 0 note taking This is just for practice, can make it much shorter with some packages like numpy, scipy.array = [n1, n2 .... nN]type(n) == intN = len(array) Mean: sum( all N element in array) / N Median: middle element in a sorted array. If a number of N is even, then you have two elements in the middle of the array.an average of those two elements is median... 더보기