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