본문 바로가기

알고리즘4

[LeetCode | 알고리즘] 03. Arrays 101 (배열) - Search (검색) 배열 검색 : 배열 요소를 검색하는 데는 다양한 형태를 취할 수 있습니다. 선형 검색 Linear Search 이진 검색 Binary Search 1) 선형 검색 Linear Search : 찾고있는 요소를 찾거나 배열의 끝에 도달할 때까지 계속 요소를 확인합니다. 모든 요소를 ​​하나씩 확인하여 요소를 찾는 이 기술을 선형 검색 알고리즘이라고 합니다. 최악의 경우 선형 검색은 전체 배열을 확인합니다. -> 따라서 선형 검색의 시간 복잡도는 다음과 같습니다. O(N) 2) 이진 검색 Binary Search 배열의 요소가 정렬된 순서라면 이진 검색을 사용할 수 있다. 배열의 중간요소를 반복적으로 보고 찾고 있는 요소가 왼쪽에 있는지 오른쪽에 있는지 결정한다. 작업을 수행할 때마다 검색하는 요소의 수를 절.. 2021. 7. 5.
[LeetCode | 알고리즘] 03. Arrays 101 (배열) - Delete (삭제) 배열 삭제 : 배열에 새 요소를 삭제하는 것은 다양한 형태를 취할 수 있습니다. 배열의 끝에 새 요소를 삭제합니다. 배열의 시작 부분에 새 요소를 삭제합니다. 배열 내의 주어진 인덱스에 새 요소를 삭제합니다. 1) 배열 끝에 삭제 배열 끝에서의 삭제는 queue. 가장 최근에 대기열에 참여한 사람 (끝에)은 나머지 대기열을 방해하지 않고 언제든지 나갈 수 있습니다. 배열의 끝에서 삭제하는 것은 세 가지 경우 중 가장 적은 시간을 소비합니다. 배열의 끝에 삽입하는 것도 삽입에 가장 적은 시간이 소요되는 경우였습니다. 2) 배열 첫번째에 삭제 배열에 대한 모든 삭제 작업 중 가장 비용이 많이 드는 작업으로 첫 번째 요소를 삭제합니다. 배열의 첫 번째 요소를 삭제하려면 0th인덱스에 빈 자리를 만듭니다 . 그.. 2021. 7. 5.
[LeetCode | 알고리즘] 02. Arrays 101 (배열) - Insert (삽입) 배열 삽입 : 배열에 새 요소를 삽입하는 것은 다양한 형태를 취할 수 있습니다. 배열의 끝에 새 요소를 삽입합니다. 배열의 시작 부분에 새 요소를 삽입합니다. 배열 내의 주어진 인덱스에 새 요소를 삽입합니다. 1) 배열 끝에 삽입 - len() 함수를 사용하면 우리는 배열의 끝의 index 번호를 알 수 있다. - 이 index를 사용하여, 새로운 값을 넣어 주는 것 - BUT python에서는 append() 함수를 이용하면 자동으로 리스트의 맨 마지막에 요소를 추가할 수 있다. EX) 배열이 nums = [1,2,3,4]라고 하자. nums.append(5) -> 이렇게 새로 넣어주면 nums 배열은 [1,2,3,4,5]가 된다. 2) 배열 시작 부분에 삽입 - 배열의 시작 부분에 넣는 방법은 기존의.. 2021. 7. 5.
[LeetCode | 알고리즘] 01. Arrays 101 (배열) - Introduction 배열 (Arrays) 은 모든 프로그래밍 언어에 존재한다. 배열은 아이템의 집합 : An array is a collection of items. - 아이템이란? 정수, 문자열과 같은 형태가 될 수 있다. - 이 아이템들은 메모리에 이웃해서 저장되어 있다. 파이썬에서 배열의 길이를 찾는 법 : len(배열명) Quiz 01 : Max Consecutive Ones : Given a binary array nums, return the maximum number of consecutive 1's in the array. : 배열을 보고, 1이 연속으로 나오는 개수의 최댓값을 구하는 것이 문제 Example 1: Input: nums = [1,1,0,1,1,1] Output: 3 Explanation: Th.. 2021. 6. 28.