파이썬의 내장 시퀀스 타입
-
내장 시퀀스(sequence) 데이터 타입은 다음과 같은 속성을 갖는다.
- 맴버십 연산 : in 키워드 사용 가능
- 크기(size) 함수 : len(seq) 사용 가능
- iterability
- slicing
-
가변성(mutable) vs 불변성(emutable)
- 가변형 타입 : 리스트, 바이트
- 불변형 타입 : 튜플, 문자열, 바이트 배열
-
얕은 복사(shallow copy) vs 깊은 복사(deep copy)
- 코드 참조
네임드 튜플(named tuple)
- 일반 튜플과 비슷한 성능과 특성을 갖지만, 인덱스뿐 아니라 이름으로 참조 가능
- tuple과 마찬가지로 immutable 하다.
바이트와 바이트 배열
- 원시 바이트(raw byte)를 처리하는데 사용할 수 있는 데이터 타입이다.
- 불변 타입 : 바이트(byte)
- 가변 타입 : 바이트 배열(byte array)
- 0 ~ 255 범위의 부호 없는 8비트 정수 시퀀스로 이루어진다.
연습문제
- 문자열 전체 반전하기
2. 문자열 단어 단위로 반전하기
3. 문자열 압축하기
ex) aaabbbbcc => a3b4c2
4. 문자열 순열
- 순열(permutation)은 서로 다른 n개 중 r개를 골라 순서를 고려해 나열한 경우의 수이다.
- 입력으로 들어오는 길이 n의 문자열에서 n개의 문자를 모두 선택하는 경우의 문자열을 나열해보자.
- 012 3개의 문자를 나열하는 경우의 수는 3P3 = 3 * 2 * 1 = 6 이므로 시간복잡도는 O(n!)이다.
회문(Palindrome)
- 앞과 뒤에서 읽었을 때 동일한 단어나 구
- ex) bob, 다시합창합시다 ...
'Python > 자료구조 & 알고리즘' 카테고리의 다른 글
05. 데크(deque) & 우선순위 큐(priority queue) (0) | 2020.06.01 |
---|---|
04. 컬렉션(Collection) (0) | 2020.06.01 |
03. 스택(Stack) & 큐(Queue) (0) | 2020.05.26 |
01. 숫자 (0) | 2020.05.08 |
00. 시간복잡도 (0) | 2020.05.08 |
댓글