Python 345

자료구조 _ Array와 Dynamic Array

Array는 무엇인가요? Array는 데이터를 메모리상에 연속적으로, 미리 할당된 크기만큼 저장하는 자료구조 입니다. Array의 특징 - 고정적 저장 공간이 필요합니다. - 메모리에 연속적으로 저장합니다. 시간복잡도 - 램덤액세스(즉시 접근 가능 - 순차(X)) 방식이기 때문에 조회는 O(1)입니다. - 마지막 삽입, 삭제도 O(1)입니다. - 다만 일반 삽입, 삭제는 O(n)입니다. 장단점 - Array의 장점은 조회가 빠르다는 것입니다. - Array의 단점은 고정된 저장 공간을 필요로 하기 때문에 Array의 크기를 미리 정해야 한다는 것입니다. - 때문에 메모리 낭비나 추가적인 오버헤드가 발생할 수 있습니다. *오버헤드 : Array 크기를 변경하면서 데이터 이동에 따라 발생하는 리소스 데이터가..

Python _ 리스트 요소 개수 세기(dictionary, collections)

리스트에 어떤 요소의 개수를 파악해야하는 때가 있습니다. (특히 코딩테스트에서 사용할 일이 많습니다) 그래서 오늘은 요소 개수를 세는 방법을 정리해보고자 합니다. dictionary 사용 # 요소를 세고 싶은 리스트 >>> list = [1,2,3,4,5,5,5,5,5,1,1] # 빈 딕셔너리를 생성 >>> dict = {} # 요소가 딕셔너리에 있다면 += 1, 없다면 = 1 >>> for num in list: if num in dict: # dict.get(num)로 대체가능 dict[num] += 1 else: dict[num] = 1 # {요소(키): 개수(값)} 형태의 딕셔너리 생성 >>> dict {1: 3, 2: 1, 3: 1, 4: 1, 5: 5} 기본 딕셔너리를 사용하는 베이직한 방법입..

Python _ 딕셔너리 가져오기 메서드 정리

딕셔너리의 get 메서드와 ['키']를 이용해 값을 가져올 수 있습니다. 단 ['키']를 이용해 값을 가져올 경우, 키가 없다면 키 에러를 내뱉으므로 에러를 따로 핸들링 해주어야 합니다. >>> x {'a': 100, 'b': 200, 'c': 300} # x 딕셔너리 키-값 >>> x.get('a') # 'a'키를 가져온다. 100 >>> x.get('d') # 'd', 만약 없는 키를 요청하면 None을 반환한다. >>> >>> type(x.get('d')) >>> x.get('d', 1000) # 없는 키에 두 번째 인자로 기본값을 지정해주면 기본값을 반환한다. 1000 >>> x['a'] # get 뿐만아니라 ['키'] 형태를 이용해 값으르 가져올 수 있다. 100 >>> x['d'] # 단, 이..