코딩테스트[파이썬]/입문자를 위한 코딩테스트 핵심 42

해시 자료구조

해시테이블 해시함수를 사용하여 키를 해시값으로 매핑하고, 이 해시값을 색인(index) 삼아 데이터의 값 (value)을 키와 함께 저장하는 자료구조를 해시테이블(hash table)이라고 합니다. 이 때 데이터 가 저장되는 곳을 버킷(bucket) 또는 슬롯(slot)이라고 합니다. Direct-address table 키의 전체 개수와 동일한 크기의 버킷을 가진 해시테이블을 Direct-address table이라고 합니 다. Direct-address table의 장점은 키 개수와 해시테이블 크기가 동일하기 때문에 해시충돌 문제가 발생하지 않는다는 겁니다. 하지만 전체 키 중 실제 사용되는 키의 개수가 적을 경우 메모리 효율성이 크게 떨어집니다. 대표적인것이 배열 인덱스를 키로 사용하는 방법입니다...

[배열과 연결리스트와 덱] -두수의 합-

두 수의 합 정수 수열 안에서 수열의 원소 두 개의 합이 target값이 되는 경우를 찾고 싶습니다. 매개변수 nums에 길이가 n인 수열이 주어지고, 매개변수 target에 자연수 값이 주어지면 이 수열안에서 두 개의 원소의 합이 정수 target값이 되는 두 원소를 구해 배열에 오름차순으로 담아 반환합니다. 두 개의 원소의 합이 target값이 되는 경우는 오직 한가지 뿐인 입력만 주어집니다. 한 원소를 두 번 더하는 것은 안됩니다. nums의 각 원소는 유일값입니다. 답이 없을 경우 [0, 0]을 반환합니다. 제한사항: • nums의 길이 3

[배열과 연결리스트와 덱] - 중복제거-

중복제거 오름차순으로 정렬된 수열이 주어지면 중복된 값을 제거하고 유일값으로 구성된 내림차순 수 열을 만들고 싶습니다. 매개변수 nums에 길이가 n인 수열이 주어지면 중복된 값을 제거하고 유일값만으로 구성된 내 림차순 수열을 배열에 담아 반환하는 프로그램을 작성하세요 제한사항: • nums의 길이 3

[배열과 연결리스트와덱] -수열의회전

수열의 회전 정수 수열의 원소를 회전하고 싶습니다. 매개변수 nums에 길이가 n인 수열이 주어지고, 매개변수 k에 뒤로 이동시키고 싶은 원소의 개수가 주어지면 nums의 원소 중 앞 원소 k개를 수열의 뒤쪽으로 이동하고 난 후의 수열을 반환하는 프로그램을 작성하세요. 제한사항: • nums의 길이 3

[배열과 연결리스트와 덱] -합격생

합격생 코딩테스트 자격증 시험에 합격한 수험생 수를 구하려고 합니다. 매개변수 score에 시험을 친 수험생들의 시험 점수가 주어지고, 매개변수 k에 합격 커드라인 점수가 주어지면 자격증 시험에 합격한 수험생의 수를 구해 반환하는 프로그램을 작성하세요. 제한사항: • score의 길이 3

배열과 연결리스트, 덱(deque) 자료구조

배열 배열은 같은 타입의 변수들로 이루어진 집합으로 메모리의 연속공간에 값이 채워져있는 형태의 자료 구조이다. 장점 1. 검색 기능이 좋다. 인덱스를 사용하여 원소에 바로 접근할 수 있다,. 단점 1. 초기 사이즈만큼 메모리의 연속공간이 필요하므로 작은 빈공간은 버려지는 경우가 있어 메모리 활용에 비효율적이다. 2. 값의 삽입과 삭제에 비효율 적이다. 데이터의 중간 지점에서 삽입,삭제가 일어날 경우 모든 값을 이동해야한다. 연결 리스트 값과 주소를 묶은 노드를 주소로 연결한 자료구조이다. 장점 1. 주소로 연결되어 있어 값을 삽입하거나 삭제하는 연산의 속도가 빠르다. 2. 선언할 때 크기를 별도로 지정하지 않고 주소로 계속 연결해 나가며, 연속된 공간이 필요하지 않아 빈 공간을 활용할 수 있어 메모리 활..