* Python을 기준으로 합니다배열 (Array)- 개념배열 : 값 또는 변수들의 집합으로 구성된 구조, index와 값을 일대일 대응해 관리`list()`, `[ ]`로 선언되고, 크기 지정 없이 자동으로 resizing 되는 동적 구조배열 내의 값을 자주 조회하는 경우 효율적이지만, 메모리 크기가 제한되거나 삽입이 많은 경우 비효율적- 일반적으로 배열의 값 조회와 `append()`를 통한 배열 끝 삽입은 $O(1)$을 소모함- 배열의 첫 번째나 중간 위치 삽입은, 해당 위치로부터 모든 기존 값들을 뒤로 shift 하므로 $O(n)$이 소모됨배열의 차원- 1차원 배열 : 기본적인 배열 형태- 2차원 배열 : 1차원 배열의 확장, `arr = [[1,2],[3,4]]`와 같이 선언Time Comple..
* Python을 기준으로 합니다문자열 (String)- 개념문자열 : 문자들의 집합으로, emutable 객체배열처럼 사용할 수 있지만, 한번 선언된 문자열은 상수 취급을 하기 때문에 값을 임의로 변경할 수 없음대표적으로 `+` 연산은 문자열을 결합하는데, 이는 내부적으로 상수끼리의 합으로 취급됨- 결과적으로 새로운 상수를 생성하여 할당하는 방식으로 수행되므로 비효율적임주요 유형 : Palindrome/Anagram, 진법 변환, 문자열 조작(변환, 탐색, 정렬), 정규표현식- 구현1. 문자열 초기화`' '`나 `" "` 사용hello1 = 'Hello World!'hello2 = "Hello World!"2. 문자열 결합`+` 나 `''.join()` 사용여기서 `+`는 각각의 문자열을 메모리에 복사..
